Dear Mr. Herry Sutjipto,

Selamat Tahun Baru juga untuk Bapak sekeluarga. Semoga sukses selalu.

Menyalin sebuah sheet tergantung pada apa yang akan disalin.
1. Jika yang disalin hanya nilai-nilai atau bagian tertentu dari sheet, maka
paste dengan paste special, dan berarti sudah ada target sheet paste (ada 2
sheet berinteraksi).
2. Jika yang disalin lengkap seluruh yang ada dalam range yang ada di sheet,
maka cukup dengan paste atau paste special all, dan berarti sudah ada target
sheet paste (ada 2 sheet berinteraksi).
3. Jika yang disalin adalah object sheet itu seutuhnya, isi parameter dari
methods copy yang diberlakukan pada sheet yang akan disalin. Jadi sheet
target akan terbentuk karena proses copy ini.

Kode untuk No 3 biasanya disusun :

'deklarasi variabel
dim shtAsli as worksheet           'variabel object sheet yang akan di-copy
object-nya
dim sShtNewName as string      'variabel string untuk nama sheet baru
(salinan object)

set shtAsli = worksheets("Master")          'isi variabel object sheet
dengan sheet tertentu
sShtNewName = "milik si A"                   'isi variabel string dengan
teks nama sheet baru

'proses copy object menjadi object baru,
'yang diletakkan pada urutan index koleksi sheet terakhir,
'yaitu index setelah index sheets.count
shtasli.copy After:=sheets(sheets.count)

'penyematan nama sheet baru (ada selamatannya gak ya..)
'yang diganti namanya adalah sheet yang baru saja terbentuk
'yang terletak pada index terakhir dari koleksi sheets yaitu index
sheets.count
'dengan nama adalah isi dari variabel sshtnewname
sheets(sheets.count).Name = sshtnewname


Semoga tidak membingungkan.
Best Regards.
Kid.


2010/1/11 Herry Sutjipto <[email protected]>

>
>
> Dear Mr. Kid
>
> Penjelasan MR. Kid sangat clear, sehingga saya mengerti benar alur dan
> logikanya, hanya saja saya belum mengerti apa itu “VDA” (karena saya nyontek
> dari VBA nya miss Siti Vi).
>
> Namun demikian setelah saya jalankan, masih ada kendala, yaitu :
>
> ·        Bagaimana agar VBA untuk mengunci cell tersebut tercopy ke sheet
> baru, sehingga sheet yang baru pun sama dengan sheet “Master”.
>
> Demikian pertanyaan lanjutan saya atas persoalan semula.
>
> Terima kasih “for all”, terutama khususnya buat *Mr Kid *(selamat tahun
> baru …. salam buat keluarga, semoga sukses selalu).
>
> Best regards.
>
> Herry Sutjipto
>
> ------------------------------
> *From:* Mr. Kid <[email protected]>
> *To:* [email protected]
> *Sent:* Saturday, January 9, 2010 0:16:17
> *Subject:* Re: [belajar-excel] Mengunci Cell
>
>
>
> Dear Mr. Herry Sitjipto,
>
> 1. Menata cell pada Worksheet terproteksi
> Jika dilihat dari uraian permasalahannya, yang diinginkan adalah mengatur
> proteksi untuk cell tertentu (yang merah jambu) dengan kriteria nilai di
> D10.
>
> Dalam hal ini, berarti seluruh :
> 1. cell berwarna kuning harus di set Locked=false bisa melalui format cell
> number atau VBA
> 2. cell berwarna merah jambu akan di set locked = false melalui VBA jika
> D10 = 1.
> 3. cell lainnya adalah pada defaultnya, yaitu locked = true
>
> Karena yang menjadi trigger adalah nilai di D10, maka event worksheet yang
> digunakan adalah Worksheet Change
>
> Cek yang dilakukan :
> 1. Jumlah cell yang terselect adalah 1 : target.count =1
> 2. Yang terselect adalah cell d10 : target=range("d10")
> (file terlampir -- Kode yang ada dalam file Bapak berstatus non aktif
> karena perngubahan nama event procedure)
>
> Jadi worksheet akan selalu dalam keadaan terproteksi. Artinya, jika ada
> cell selain merah jambu dan kuning atau object lain yang bisa terimbas
> karena worksheet terproteksi selalu, maka perlu penangan khusus, seperti
> penggunaan VBA untuk mengatur cell atau object lain tersebut.
>
>
>
> 2. Penyederhanaan kode :
>       If .Address = "$E$14" Or .Address = "$E$15" Or .Address = "$E$16" _
>          Or .Address = "$E$17" Or .Address = "$E$18" Or .Address = "$E$19"
> _
>          Or .Address = "$E$20" Or .Address = "$E$21" Or .Address = "$E$22"
> _
>          Or .Address = "$E$23" Or .Address = "$E$24" Or .Address = "$E$25"
> Then
>
> Kode diatas merujuk ke range E14:E25.
> Metode 1 : Intersect()
> IF Not Intersect( target, range("e14:e25") is nothing then
>      'semua kode jika betul di range itu
> End IF
>
> Metode 2 : cek berdasar dimensi baris dan kolom
> IF target.column = 5 then
>     IF target.row > 13 then
>         IF target..row < 26 then
>               'semua kode jika betul di range itu
>         End IF
>     End IF
> End IF
>
>
> Semoga bermanfaat
> Kid
>
> 2010/1/8 Herry Sutjipto <herry...@yahoo. com <[email protected]>>
>
>>
>>
>> Dear para pakar Excel,
>>
>> Saya punya file excel seperti terlampir.
>> Kalau sheet diprotect, Cell berwarna kuning dan merah jambu bisa
>> diinput/diedit, sedangkan cell warna lain tidak bisa diinput/diedit.
>>
>> Dengan menambahkan VBA (dari mBak Siti Vi terlampir) di sheet tersebut,
>> saya maunya :
>>
>>    - Kalau Cell "D10" diisi angka "1", Cell berwarna merah jambu dan
>>    kuning bisa diinput/diedit, sedangkan warna lain harus tidak bisa
>>    diinput/diedit,
>>
>>
>>    - Kalau Cell "D10" diisi angka selain "1", hanya Cell warna kuning
>>    saja yang bisa diinput/diedit,
>>
>> tetapi ternyata hasilnya tidak sesuai dengan keinginan saya.
>>
>> Mohon pencerahan para pakar di group ini.
>>
>> Terima kasih
>>
>> Best Regards.
>> Herry Sutjipto
>>
>> VBA nya mbak Siti Vi:
>>
>> Private Sub Worksheet_Selection Change(ByVal Target As Range)
>>
>>    With Target
>>    If .Cells.Count = 1 Then
>> ' Apakah 4 baris berikut ini bisa disederhanakan?
>>       If .Address = "$E$14" Or .Address = "$E$15" Or ..Address = "$E$16" _
>>          Or .Address = "$E$17" Or .Address = "$E$18" Or .Address = "$E$19"
>> _
>>          Or .Address = "$E$20" Or .Address = "$E$21" Or .Address = "$E$22"
>> _
>>          Or .Address = "$E$23" Or .Address = "$E$24" Or .Address = "$E$25"
>> Then
>>          If Range("D10").Value = 1 Or Range("D10").Value = "1" Then
>>             Me.Unprotect "VDA"
>>             Range("E14:E25").Locked = False
>>          Else
>>             Me.Unprotect "VDA"
>>             Me.Cells.Locked = False
>>             Range("E14:E25").Locked = True
>>             Me.Protect "VDA"
>>          End If
>>       Else
>>         Me.Unprotect "VDA"
>>         Me.Cells.Locked = False
>>       End If
>>    End If
>>    End With
>> End Sub
>>
>>
>> ------------------------------
>>  New Email addresses available on Yahoo!
>> <http://sg.rd.yahoo.com/aa/mail/domainchoice/mail/signature/*http://mail.promotions.yahoo.com/newdomains/aa/>
>> Get the Email name you've always wanted on the new @ymail and @rocketmail.
>> Hurry before someone else does!
>>
>
>
> ------------------------------
>  Get your new Email address!
> <http://sg.rd.yahoo.com/aa/mail/domainchoice/mail/signature/*http://mail.promotions.yahoo.com/newdomains/aa/>
> Grab the Email name you've always wanted before someone else does!
>
>  
>

Kirim email ke