Ya memang benar bahwa setiap orang punya gaya masing masing.. Tetapi kode pak guru muda itu menurutku mengocopy *SELURUH BARI*S di KOLOM yg diproses! Misal nya: *Columns("A").Values* di excel 2007 adalah sebuah range dengan anggota cell sebanyak 1,048,576 cells sekolom (sejuta cell lebih) sehingga jika ada data di atas tabel maupun di bawah tabel yg diproses (tabel tujuan) maka mereka akan r.u =RU, s.a.k = SAK = RUSAK.. he he.. Proses pentransferannnyapun sudah anda rasakan sendiri = cukup LAMA
Code Ni Mas Hapsari, *hanya mgmproses KOLOM setinggi yg diperlukan* saja. Walaupun tinggi tabel diganti ganti (ditambah / dikurangi), karena penggunaan 'CurrentRegion' Setelah code itu dipahami, rencananya nanti: masih bisa diringkas misalnya dengan LOOP (walapun urutan nomor kolom tidak urut, Nimas Hapsari sudah berkali kali mencontohkan bagaimana cara Looping-nya) Pak Guru.. *ringkasnya code* belum menjamin *efisiennya proses* program !! 'gitu ! (meniru gaya "'gitu" nya pak MarioTeguh) *o'Seno* * * * * * * * 2012/2/2 guru muda <mudag...@yahoo.com> > > Terima kasih Bu Guru Tua (tapi masih muda) > > Saya senang banget dengan kode VBA dari Ibu Guru. Kodenya sangat canggih dan dahsyat, cermin keluasan dan kedalaman ilmu dari Bu Guru. > > Kode ini sangat bermanfaat bagi saya. Dan alangkah baiknya jika pelajaran ini dilanjutkan. Yakni pada bagian mana dari kode tersebut yg harus diubah/disesuaikan apabila saya ingin mengcopy range dari sheet asal ke sheet tujuan. > > Dalam contoh (lampiran) yg lalu: > > SUMBER HASIL > kolom A ------------------> kolom B > kolom B ------------------> kolom F > kolom C ------------------> kolom D > kolom E ------------------> kolom G > > Bagaimana kalau begini: > > MASTER DATA > kolom A ------------------> kolom A > kolom B ------------------> kolom B > kolom C ------------------> kolom D > kolom D ------------------> kolom E > > Alangkah baiknya lagi jika formula itu disederhanakan agar mudah diedit kodenya apabila ingin dipakai untuk kasus lain dengan niat yg sama (mengcopy range). > > Saya pakai kode VBA berikut dengan beberapa kelemahan; kerjanya agak lambat, tidak langsung membuka sheet hasil copy, hanya mencopy value tidak dengan format number. Tapi kelebihannya adalah mudah diedit/disesuaikan. Kode VBA dimaksud adalah sbb: > > Sub Copy_Data() > Application.ScreenUpdating = False > Worksheets("DATA").Columns("A").Value = Worksheets("MASTER").Columns("A").Value > Worksheets("DATA").Columns("B").Value = Worksheets("MASTER").Columns("B").Value > Worksheets("DATA").Columns("D").Value = Worksheets("MASTER").Columns("C").Value > Worksheets("DATA").Columns("E").Value = Worksheets("MASTER").Columns("D").Value > Application.ScreenUpdating = True > End Sub > > Terima kasih. *