Selasa, 02 Juli 2019

[belajar-excel] Digest Number 4787

1 Message

Digest #4787

Message

Mon Jul 1, 2019 10:51 pm (PDT) . Posted by:

"Budi Priyo"

Ok Trimakasih akan saya pelajari dan saya coba.

Pada tanggal Kam, 27 Jun 2019 pukul 12.30 Agus nangagus@gmail.com
[belajar-excel] <belajar-excel@yahoogroups.com> menulis:

>
>
> Assalamu'alaikum warahmatullah wabarakatuh
> Terima kasih mas Kid,
> Kesimpulannya tidak bisa diatur agar klik kanan sheet, move or copy
> hasilnya values.
> Seandainya dibuatkan macro, bisa apa tidak yaa code untuk klik kanan
> dibuat sendiri?
>
> Ilustrasi:
> Sebuah icon pada sebuah group dapat kita nonaktifkan dengan customUI,
> kemudian icon tersebut kita ganti dengan icon yang baru namun gambarnya
> persis sama dengan icon yang lama.
> icon yang baru kita jalankan dengan macro.
> sebagai pengguna awam, saya menganggap tidak ada perubahan apapun pada
> tab, walaupun sebenarnya ada icon dengan perintah baru.
>
> Mas Kid, dapat atau tidak klik kanan pada sheet diubah seperti ilustrasi
> di atas?
>
> Terima kasih.
> Regard
> Wasalamu'alaikum warahmatullah wabarakatuh
>
> NangAgus
>
> On 6/26/2019 23:54, 'Mr. Kid' mr.nmkid@gmail.com [belajar-excel] wrote:
>
>
> Wa'alaikumussalam wr wb
>
> mas Nang,
>
> melalui proses tersebut tidak dimungkinkan..
> begini :
> [image: imgVBAcopysht.gif]Dari gambar di atas :
> 1. Proses copy sheet di workbook yang sama dengan context menu milik tab
> sheet
> yaitu proses klik kanan tab sheet -> move or copy -> ke workbook yang
> sama sebelum sheet tertentu -> centang create a copy -> OK
> > hasilnya seperti gambar pojok kiri atas <myData.xlsx:1 [baca: file
> myData.xlsx window 1 (yaitu di sheet DATA)]> ke gambar pojok kiri bawah
> (myData.xlsx:2)
> > sheet akan di-copy secara utuh (formula, format [termasuk
> conditional formatting], dsb)
> > memanfaatkan VBA, bisa dengan kode berbunyi seperti ini : (sesuaikan
> object dengan keadaan setempat)
> Sheet1.Copy after:=Sheets(Sheets.Count)
> > jadi, ketika ingin hasilnya values tapi tetap menjaga semua format,
> maka hasil copy sheet tersebut yang di-values dengan kode :
> Sheets(Sheets.Count).usedrange.copy
> Sheets(Sheets.Count).usedrange.pastespecial xlpastevalues
>
> 2. Proses copy sheet ke workbook baru dengan context menu milik tab sheet
> yaitu proses klik kanan tab sheet -> move or copy -> pilih (new book)
> -> centang create a copy -> OK
> > hasilnya seperti gambar pojok kiri atas <myData.xlsx:1 [baca: file
> myData.xlsx window 1 (yaitu di sheet DATA)]> ke gambar atas kedua dari kiri
> (book2)
> > sheet akan di-copy secara utuh (formula, format [termasuk
> conditional formatting], dsb) ke workbook baru
> > memanfaatkan VBA, perlu 2 proses, yaitu :
> 1. membuat workbook baru sebagai target
> 2. copy sheet dari file sumber ke workbook baru
> > hal ini dimungkinkan karena workbook baru dibuat di instance Excel
> yang sama (lihat gambar task manager), yaitu :
> pada instance Microsoft Excel (3) berisi workbook bernama book2
> (hasil buat workbook baru sebagai target lokasi paste) dan workbook
> myData.xlsx (file sumber)
> > terkadang, perlu juga untuk membuang sheets yang dibuat Excel saat
> membentuk workbook baru.
> > secara umum, baris kodenya begini :
>
> Dim wbkb As Workbook, shta As Worksheet
> Set shta = Sheet1
> Set wbkb = Workbooks.Add
> shta.Copy after:=wbkb.Sheets( wbkb.Sheets.count)
>
> > jika butuh mem-values formula, maka lakukan copy paste values
> terhadap object wbkb.Sheets( wbkb.Sheets.count)
>
> 3. Proses copy sheet ke workbook baru langsung hanya values-nya (tanpa
> formula, tanpa conditional format, dsb)
> > dilakukan dengan cara melakukan copy paste ke workbook baru yang ada
> di-instance Excel yang berbeda
> > hasilnya seperti gambar pojok kiri atas <myData.xlsx:1 [baca: file
> myData.xlsx window 1 (yaitu di sheet DATA)]> ke gambar kanan bawah (book1)
> > pada task manager, workbook myData.xlsx berada di instance Microsoft
> Excel (3) [yang bawah], sedangkan workbook book1 berada di instance
> Microsoft Excel [yang atas]
> > memanfaatkan VBA, perlu 4 proses, yaitu :
> 1. membentuk Excel Application baru (instance Excel yang baru)
> 2. membentuk workbook baru dalam instance baru tersebut
> 3. meng-copy area range data di file sumber (instance Excel sumber)
> 4. mem-paste ke sheet target di workbook baru yang ada di instance
> Excel yang baru
> > secara umum, bunyi baris kode-nya begini :
>
> Dim shta As Worksheet, xlapp2 As Excel.Application, wbkb As Workbook
> Set shta = Sheet1
> Set xlapp2 = New Excel.Application
> xlapp2.Visible = True
> Set wbkb = xlapp2.Workbooks.Add
> shta.UsedRange.Copy
> wbkb.Sheets(1).Paste
> Set xlapp2 = Nothing
>
>
> Dari uraian diatas, maka perlu penanganan tersendiri untuk mencegah
> munculnya menu move or copy sheet di dalam context menu tab sheet.
> Hal ini bisa dilakukan dengan cara mem-protect struktur workbook (cukup
> strukturnya saja).
> Proses proteksi pertama kali bisa dilakukan secara manual melalui menu
> Review -> grup menu Protect -> Protect Workbook -> isi password -> centang
> hanya Structure -> OK -> save workbook
> Kemudian dalam proses copy sheet oleh VBA, diawali dengan baris :
> thisworkbook.unprotect "passwordnya"
> lalu sebelum proses selesai, dilakukan protek workbook kembali :
> thisworkbook.protect "passwordnya", structure:=true
>
> Kira-kira demikianlah...
>
> Wassalamu'alaikum wr wb
> Kid
>
>
> On Wed, Jun 26, 2019 at 7:34 PM Agus nangagus@gmail.com [belajar-excel] <
> belajar-excel@yahoogroups.com> wrote:
>
>>
>>
>> Assalamu'alaikum warahmatullah wabarakatuh,
>> Mas Kid mau tanya:
>> Kalau seandainya saya klik kanan di sheet, terus Move or copy .. pilih
>> to_book :(newbook).
>> bisa apa tidak diatur lewat vba hasil copyannya hanya values.
>> Maksudnya mencegah orang lain untuk copy seluruh sheet, namun hanya copy
>> values-nya saja.
>> terima kasih
>> Wasalamualaikum warahmatullah.
>> Kenang Agus
>>
>>
>> On 6/26/2019 10:34, 'Mr. Kid' mr.nmkid@gmail.com [belajar-excel] wrote:
>>
>>
>> Hai Budi Priyo,
>>
>> 1. apakah ada protec nya menggunakan macro juga. dan apakah protec tsb
>> tidak berpengaruh dengan macro yg ada
>> *** yang ini terkait proteksi sheet dan proteksi cells
>> > pastikan sheet tidak dalam keadaan ter-protect
>> > blok seluruh cells (atau hanya cells tertentu yang akan disembunyikan
>> formulanya) -> klik kanan cells terpilih -> format cells -> tab Protection
>> -> centang Locked dan Hidden -> OK
>> > lalu protect sheet secara manual
>> > atau dengan baris kode berbunyi (jalankan di intermediate window [tekan
>> ctrl G -> tulis baris kodenya -> tekan enter])
>> sheets("nama sheetnya").protect "passwordnya"
>> > jika ingin agar VBA bisa bekerja pada sheet terproteksi tanpa perlu
>> membuka proteksi sheet, gunakan baris kode berikut ini :
>> sheets("nama sheetnya")..protect "passwordnya",
>> userinterfaceonly:=true
>> > save workbook
>>
>> 2. apa bila sheet tersebut di copy (copysheet) formula yg ada dalam
>> sheet tersebut tidak ikut alias values secara otomatis,
>> *** yang ini terkait copy values sheet
>> > buat sebuah general module -> buat sebuah blok prosedur jenis sub,
>> misal bernama CopasValueSheet
>> > jika sheet diproteksi secara manual atau dengan VBA tanpa opsi
>> userinterfaceonly:=true, maka perlu di-unprotect dulu dengan baris kode :
>> sheets("nama sheetnya").unprotect "passwordnya"
>> > proses akan terdiri dari 2 bagian utama, yaitu copy sheet menjadi sheet
>> baru, kemudian copy values nilai yang ada di hasil copy sheet tadi
>> 'jika copy di workbook yang sama
>> sheets("nama sheetnya").copy before:=sheets(1) 'copy sheet
>> 'copy paste values hasil copy sheet
>> sheets(1).usedrange.copy
>> sheets(1).usedrange.pastespecial xlpastevalues
>>
>> 'jika copy ke workbook baru :
>> dim wbka as workbook, wbkb as workbook
>> set wbka=thisworkbook
>> set wbkb=workbooks.add
>> with wbkb
>> wbka.sheets("nama sheetnya").copy before:= ..sheets(1) 'copy
>> sheet
>> .sheets(1).usedrange.copy
>> .sheets(1).usedrange.pastespecial xlpastevalues
>> end with
>> wbka.activate
>>
>> 3. dijalankan dengan macro di sheet
>> *** ini tentang pemicu (event) yang digunakan agar VBA copy sheet diproses
>> > sebaiknya diletakkan di modul Thisworkbook dengan event yang sesuai,
>> misal event ketika cells a1 di double click (sila disesuaikan dengan
>> kebutuhan setempat)
>> > pada modul Thisworkbook -> di object Workbook -> buat event
>> bernama Workbook_SheetBeforeDoubleClick -> isi dengan baris kode berikut
>> (sesuaikan dengan keadaan setempat)
>> if sht.name="nama sheetnya" then
>> 'jalankan prosedur copy sheet, misal prosedur CopasValueSheet
>> hasil nomor 2 di atas
>> CopasValueSheet
>> cancel=true
>> endif
>> > dengan begini, maka VBA code yang ada di sheet yang di-copy tidak akan
>> terbawa ke hasil copy sheet
>>
>> Regards,
>> Kid
>>
>>
>> On Thu, Jun 20, 2019 at 11:28 AM Budi Priyo monexdani@gmail..com
>> <monexdani@gmail.com> [belajar-excel] <belajar-excel@yahoogroups.com>
>> wrote:
>>
>>>
>>> Salam kenal, saya baru bergabung di sini dan ingin menanyakan,
>>> Saya punya dokument yg dijalankan dengan macro di sheet dan apa bila
>>> sheet tersebut di copy (copysheet) formula yg ada dalam sheet tersebut
>>> tidak ikut alias values secara otomatis, apakah ada protec nya menggunakan
>>> macro juga. dan apakah protec tsb tidak berpengaruh dengan macro yg ada,
>>> karena dokument tersebut terdapat formula rahasianya.
>>> Mohon rekan milis mungkin ada yg bisa bantu.
>>> Sayaucapkan terima kasih
>>>
>>
>>
>
>
============================================================
Pojok Lowongan Kerja yang disediakan milis :
http://milis-belajar-excel.1048464.n5.nabble.com/Pojok-Lowongan-Kerja-f5725753.html
*** Posting lowongan kerja : ke link tersebut dan klik New Topic
============================================================
bergabung ke milis (subscribe), kirim mail kosong ke: belajar-excel-subscribe@yahoogroups.com
posting ke milis, kirimkan ke: belajar-excel@yahoogroups.com
berkunjung ke web milis : http://tech.groups.yahoo.com/group/belajar-excel/messages
melihat file archive / mendownload lampiran : http://www.mail-archive.com/belajar-excel@yahoogroups.com/
atau (sejak 25-Apr-2011) bisa juga di : http://milis-belajar-excel.1048464.n5.nabble.com/
menghubungi moderators & owners: belajar-excel-owner@yahoogroups.com
keluar dari membership milis (UnSubscribe), kirim mail kosong ke : belajar-excel-unsubscribe@yahoogroups.com
---------------------------------------------------------------------

Tidak ada komentar:

Posting Komentar