Wa'alaikumussalam Wr. Wb.
mas Agus,
Permasalahannya adalah mendapatkan si range yang sesuai kriteria pencarian
kah ?
Misal :
Di A1 sampai AZ1 ingin dicari sebuah range tertentu, maka perlu loop dari
A1 sampai AZ1. Lalu cek apakah setiap range dari A1 sampai AZ1 sesuai
kriteria. Kalau sesuai, maka bisa menghentikan loop atau yang sesuai tadi
disimpan dulu (karena bisa jadi yang sesuai ada lebih dari 1 dan ingin
diambil semuanya).
Cara loop dari A1 sampai AZ1, bisa :
dim rngCari
for each rngCari in range("a1:az1")
debug.print rngcari.value
next rngcari
atau
dim lCol as long
for lCol = 1 to 25
debug.print cells(1,lcol).value
next lcol
Kasus lainnya :
Kalau akan loop sebanyak 100 kolom dimulai dari range G7
dim lCol as long
for lcol=1 to 100
debug.print range("g7").cells( 1 , lcol ).value
next lcol
Kalau akan loop sebanyak 100 kolom dan 37 baris dimulai dari H5
dim lCol as long, lRow as long
for lcol=1 to 100
for lrow=1 to 37
debug.print range("h5").cells( lrow , lcol ).value
next lrow
next lcol
Semua yang ada di kasus lainnya di atas, sebenarnya melakukan loop dari
area range yang sudah jelas alamat rangenya.
'dari range G7 sebanyak 100 kolom dan 1 baris
dim rngCari as range
for each rngcari in range("g7").resize(1,100)
debug.print rngcari.value
next rngcari
'untuk kasus 100 kolom dan 37 baris dimulai dari H5 dicoba sendiri
Untuk penggunaan *cells*, ada di link
http://b-excel.blogspot.com.au/2013/07/belajarvba-006-object-dalam-excel.html
bagian *Range*
Untuk loop (For Next ataupun For Each) mulai dari
http://b-excel.blogspot.com.au/2013/08/belajarvba-010-perulangan-1-for-next.html
Untuk merujuk range yang lebih dinamis, mulai dari
http://b-excel.blogspot.com.au/2013/09/belajarvba-011-range-03.html dan
pilih yang relatif sesuai untuk digunakan bersama bunyi script lain.
Wassalamu'alaikum Wr. Wb.
Kid.
2014-08-27 12:10 GMT+10:00 Nang Agus [email protected] [belajar-excel] <
[email protected]>:
>
>
> Asalamualaikum warahmatullah;
>
> Saya mau mencari alamat cell (Range) dengan vba, saya terbiasa
> menggunakan alamat range menggunakan syntax : Range("A1"),
> karena cekrip yang mau dibuat perintahnya membaca Range("A1") sampai
> Range("AZ1") berturut-turut satu persatu. (bukan A1:AZ1). Hal ini akan
> mudah jika digunakan Loop, namun saya kesulitan mengubah kolom
> berdasarkan huruf.
> Saya cari di
> http://b-excel.blogspot.com.au/2013/09/belajarvba-011-range-01-berdasar-alamat.html
> tidak ada, dapatkah ditambah?
>
> Bagaimanakah caranya menulis cekrip, mencari alamat Cell dengan
> menggunakan RC1?
> Tolong diubah cekrip saya di bawah ini.
>
> For itung = 1 to 100
> Range("A1").Value = isine (itung) 'sudah saya coba dengan
> Cell(1,itung) tidak bisa
> Next itung
>
> Terima kasih
> Wasalamualaikum
>
> NangAgus
>
>