Rabu, 26 Juni 2019

[belajar-excel] Digest Number 4783

5 Messages

Digest #4783
1a
1b
Re: copy sheet by "Mr. Kid" nmkid.family@ymail.com
1c
Re: copy sheet by "hendrik karnadi" hendrikkarnadi
1d
1e

Messages

Wed Jun 26, 2019 5:34 am (PDT) . Posted by:

"Agus"

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 <http://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
> <mailto:monexdani@gmail.com> [belajar-excel]
> <belajar-excel@yahoogroups.com <mailto: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
>
>

Wed Jun 26, 2019 9:54 am (PDT) . Posted by:

"Mr. Kid" nmkid.family@ymail.com

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
>>
>
>
>

Wed Jun 26, 2019 9:40 pm (PDT) . Posted by:

"hendrik karnadi" hendrikkarnadi

Ikutan ya mas Nang.Coba pakai macro recording.
Salam,HK

Sent from Yahoo Mail on Android

On Wed, Jun 26, 2019 at 20:35, 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 [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



#yiv8973819802 #yiv8973819802 -- #yiv8973819802ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv8973819802 #yiv8973819802ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv8973819802 #yiv8973819802ygrp-mkp #yiv8973819802hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv8973819802 #yiv8973819802ygrp-mkp #yiv8973819802ads {margin-bottom:10px;}#yiv8973819802 #yiv8973819802ygrp-mkp .yiv8973819802ad {padding:0 0;}#yiv8973819802 #yiv8973819802ygrp-mkp .yiv8973819802ad p {margin:0;}#yiv8973819802 #yiv8973819802ygrp-mkp .yiv8973819802ad a {color:#0000ff;text-decoration:none;}#yiv8973819802 #yiv8973819802ygrp-sponsor #yiv8973819802ygrp-lc {font-family:Arial;}#yiv8973819802 #yiv8973819802ygrp-sponsor #yiv8973819802ygrp-lc #yiv8973819802hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv8973819802 #yiv8973819802ygrp-sponsor #yiv8973819802ygrp-lc .yiv8973819802ad {margin-bottom:10px;padding:0 0;}#yiv8973819802 #yiv8973819802actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv8973819802 #yiv8973819802activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv8973819802 #yiv8973819802activity span {font-weight:700;}#yiv8973819802 #yiv8973819802activity span:first-child {text-transform:uppercase;}#yiv8973819802 #yiv8973819802activity span a {color:#5085b6;text-decoration:none;}#yiv8973819802 #yiv8973819802activity span span {color:#ff7900;}#yiv8973819802 #yiv8973819802activity span .yiv8973819802underline {text-decoration:underline;}#yiv8973819802 .yiv8973819802attach {clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 0;width:400px;}#yiv8973819802 .yiv8973819802attach div a {text-decoration:none;}#yiv8973819802 .yiv8973819802attach img {border:none;padding-right:5px;}#yiv8973819802 .yiv8973819802attach label {display:block;margin-bottom:5px;}#yiv8973819802 .yiv8973819802attach label a {text-decoration:none;}#yiv8973819802 blockquote {margin:0 0 0 4px;}#yiv8973819802 .yiv8973819802bold {font-family:Arial;font-size:13px;font-weight:700;}#yiv8973819802 .yiv8973819802bold a {text-decoration:none;}#yiv8973819802 dd.yiv8973819802last p a {font-family:Verdana;font-weight:700;}#yiv8973819802 dd.yiv8973819802last p span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv8973819802 dd.yiv8973819802last p span.yiv8973819802yshortcuts {margin-right:0;}#yiv8973819802 div.yiv8973819802attach-table div div a {text-decoration:none;}#yiv8973819802 div.yiv8973819802attach-table {width:400px;}#yiv8973819802 div.yiv8973819802file-title a, #yiv8973819802 div.yiv8973819802file-title a:active, #yiv8973819802 div.yiv8973819802file-title a:hover, #yiv8973819802 div.yiv8973819802file-title a:visited {text-decoration:none;}#yiv8973819802 div.yiv8973819802photo-title a, #yiv8973819802 div.yiv8973819802photo-title a:active, #yiv8973819802 div.yiv8973819802photo-title a:hover, #yiv8973819802 div.yiv8973819802photo-title a:visited {text-decoration:none;}#yiv8973819802 div#yiv8973819802ygrp-mlmsg #yiv8973819802ygrp-msg p a span.yiv8973819802yshortcuts {font-family:Verdana;font-size:10px;font-weight:normal;}#yiv8973819802 .yiv8973819802green {color:#628c2a;}#yiv8973819802 .yiv8973819802MsoNormal {margin:0 0 0 0;}#yiv8973819802 o {font-size:0;}#yiv8973819802 #yiv8973819802photos div {float:left;width:72px;}#yiv8973819802 #yiv8973819802photos div div {border:1px solid #666666;min-height:62px;overflow:hidden;width:62px;}#yiv8973819802 #yiv8973819802photos div label {color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv8973819802 #yiv8973819802reco-category {font-size:77%;}#yiv8973819802 #yiv8973819802reco-desc {font-size:77%;}#yiv8973819802 .yiv8973819802replbq {margin:4px;}#yiv8973819802 #yiv8973819802ygrp-actbar div a:first-child {margin-right:2px;padding-right:5px;}#yiv8973819802 #yiv8973819802ygrp-mlmsg {font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv8973819802 #yiv8973819802ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv8973819802 #yiv8973819802ygrp-mlmsg select, #yiv8973819802 input, #yiv8973819802 textarea {font:99% Arial, Helvetica, clean, sans-serif;}#yiv8973819802 #yiv8973819802ygrp-mlmsg pre, #yiv8973819802 code {font:115% monospace;}#yiv8973819802 #yiv8973819802ygrp-mlmsg * {line-height:1.22em;}#yiv8973819802 #yiv8973819802ygrp-mlmsg #yiv8973819802logo {padding-bottom:10px;}#yiv8973819802 #yiv8973819802ygrp-msg p a {font-family:Verdana;}#yiv8973819802 #yiv8973819802ygrp-msg p#yiv8973819802attach-count span {color:#1E66AE;font-weight:700;}#yiv8973819802 #yiv8973819802ygrp-reco #yiv8973819802reco-head {color:#ff7900;font-weight:700;}#yiv8973819802 #yiv8973819802ygrp-reco {margin-bottom:20px;padding:0px;}#yiv8973819802 #yiv8973819802ygrp-sponsor #yiv8973819802ov li a {font-size:130%;text-decoration:none;}#yiv8973819802 #yiv8973819802ygrp-sponsor #yiv8973819802ov li {font-size:77%;list-style-type:square;padding:6px 0;}#yiv8973819802 #yiv8973819802ygrp-sponsor #yiv8973819802ov ul {margin:0;padding:0 0 0 8px;}#yiv8973819802 #yiv8973819802ygrp-text {font-family:Georgia;}#yiv8973819802 #yiv8973819802ygrp-text p {margin:0 0 1em 0;}#yiv8973819802 #yiv8973819802ygrp-text tt {font-size:120%;}#yiv8973819802 #yiv8973819802ygrp-vital ul li:last-child {border-right:none !important;}#yiv8973819802

Wed Jun 26, 2019 10:20 pm (PDT) . Posted by:

"Agus"

Pak Hendrik, yang saya maksudkan mencegah orang lain untuk copy seluruh
sheet, hanya bisa copy untuk paste values. walaupun caranya menggunakan
klik kanan paste sheet, hasilnya tetap values.
Jadi bukan tanya caranya copy sheet dengan VBA.
salam
Kenang
On 6/27/2019 11:40, hendrik karnadi hendrikkarnadi@yahoo.com
[belajar-excel] wrote:
>
> Ikutan ya mas Nang.
>
> Coba pakai macro recording.
>
> Salam,
> HK
>
>
> Sent from Yahoo Mail on Android
> <https://overview.mail.yahoo.com/mobile/?.src=Android>
>
> On Wed, Jun 26, 2019 at 20:35, 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
> <mailto: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 <http://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
>> <mailto:monexdani@gmail.com> [belajar-excel]
>> <belajar-excel@yahoogroups.com
>> <mailto: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
>>
>
>

Wed Jun 26, 2019 10:30 pm (PDT) . Posted by:

"Agus"

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 :
> imgVBAcopysht.gifDari 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
> <mailto:nangagus@gmail.com> [belajar-excel]
> <belajar-excel@yahoogroups.com <mailto: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
> <mailto: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 <http://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
>> <mailto:monexdani@gmail.com> [belajar-excel]
>> <belajar-excel@yahoogroups.com
>> <mailto: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