Pak Syaifullah,
Coba ganti Range("B3") pada sel tujuan dengan Cells(Rows.Count, 
2).End(xlUp).Offset(1).
Bahasa manusianya : Sel(baris terakhir kolom ke 2).naik ke atas sampai 
mentok.turun 1 baris.

Ini ramai dibicarakan dalami milis ketika membahas masalah cara tercepat 
mencari baris baru.


Salam,
HK


________________________________
 From: Ahmad Syaifullah Lubis <[email protected]>
To: "[email protected]" <[email protected]> 
Sent: Wednesday, 14 August 2013, 19:13
Subject: RE: [belajar-excel] BelajarVBA : Kenalan dengan object Range yuk...
 


  
Pak Hendrik,
terima kasih atas pemahaman macronya melalui case ini, bagi saya yang amat awam 
macro sangat berharga sekali.
jadi saya tambahkan range yang dimaksudkan, sehingga langsung masuk datanya.
Workbooks("Keuangan.xlsx").Worksheets("Dataku").Range("B3:G9").Copy 
Workbooks("laporan.xlsx").Worksheets("JAN").Range("B3")

saya ingin terus bertanya nih kalau berkenan untuk membantu saya....
macro di atas saya sudah memahaminya, tetapi bagaimana caranya hasil copyan tsb 
akan dieksekusi di bawah baris yang kosong, semisal 
workbooks("laporan.xlsx").worksheets("JAN") tsb baris B9 sudah ada datanya, 
maunya macro tsb otomatis akan dieksekusikan ke baris B10.  
kalau bahasa analis/instruksi/prosesingnya kan : copykan worksheets  "Dataku" 
yang di workbooks "Laporan.xlsx" dengan rangekan "B3:G9". Setelah itu 
eksekusikan ke workbooks "laporan.xlsx" di worksheets "JAN" dengan cara 
memastikan terlebih dahulu apakah pada sheets tsb ada data yang sudah berisi, 
jika ada data yang sudah berisi, maka turun satu baris dan langsung 
eksekusikan. selesai. 

semoga dapat diberikan macronya. 
Terima Kasih,
ASL
------------------------------------------------------------------------------------------------------------------------------------------------------------------

To: [email protected]
From: [email protected]
Date: Tue, 13 Aug 2013 09:29:36 -0700
Subject: Re: [belajar-excel] BelajarVBA : Kenalan dengan object Range yuk...

  


Pertanyaan Bapak,
apakah memang mesti ditekan "ENTER" dulu baru data2 yang mau dicopy bisa masuk 
ke worksheets dimaksud ?


Sebelum menjawab pertanyaan tersebut perlu kita pahami apa yang dilakukan oleh 
komputer ketika Code (perintah) ini dijalankan,
Workbooks("Keuangan.xlsx").Worksheets("Dataku").Range("B3:G9").Copy


Ketika perintah di atas dijalankan, komputer mengcopy Range("B3:G9") yang ada 
pada Worksheet("Dataku") Workbook("Keuangan") dan menyimpannya di dalam 
Clipboard (Gudang sementara data). Bagaimana kita mengetahui bahwa data tsb 
masih ada dalam Clipboard ? Jawabannya bisa kita kutip dari dongeng Mr. Kid 
"sudah ada semut jalan dipinggir areanya"

Semut2 tsb akan melarikan diri (data dihapus dari Clipboard) jika kita menekan 
tombol Esc (artinya batal) atau Enter (artinya menempatkan data tsb pada sel 
tujuan sekaligus menghapus data dalam Clipboard).

Jika kita tidak ingin repot menekan tombol Enter maka kita harus menuliskan sel 
tujuan dibelakang perintah "Copy" (didahului dengan spasi).
Jadi Codenya kan menjadi sbb:
Workbooks("Keuangan.xlsx").Worksheets("Dataku").Range("B3:G9").Copy sel tujuan

Sel tujuan bisa berupa sel aktif atau alamat sel tertentu (bila perlu bisa 
disebutkan Workbook dan Worksheetnya).


Semoga menjadi lebih jelas dan menambah semangat untuk belajar.

Salam,
HK



________________________________









 

Kirim email ke