Pada sebuah contoh gambar terdapat kumpulan dari beberapa letak baris dan kolom yang dinamis dan tidak beraturan, artinya tidak seperti barisan sel biasanya yang statis, merata, sejajar, dan teratur.
Kode macro di bawah ini adalah contoh yang mungkin berguna bagi Anda jika tidak hanya ingin mencari urutan baris data terakhir saja, namun membatasi pencariannya pada sekumpulan kolom tertentu.
Hal yang sama juga bisa dilakukan untuk mencari urutan kolom data terakhir, bisa menurut baris pertama, semua baris, atau bahkan baris-baris tertentu.
Kode macro tersebut nantinya akan menghasilkan kotak pesan berisi informasi yang dapat menangani skenario semacam ini seperti yang ditunjukkan pada gambar.
Silakan Anda ikuti langkah berikut untuk menyusun kode macro:
1. Buka Excel Anda lalu buka VBE dengan cara menekan Alt+F11 pada keyboard.
2. Buat sebuah Module dengan cara buka menu Insert > Module:
3. Ketik judul macro-nya di dalam Module tersebut misalnya CariUrutanBarisKolomAkhir:
Sub CariUrutanBarisKolomAkhir()
4. Buat contoh variabel A untuk urutan baris terakhir dan B untuk urutan kolom terakhir:
Dim A As Long, B As Long
5. Contoh variabel C untuk urutan baris terakhir di kolom tunggal dan D untuk urutan baris di beberapa kolom:
Dim C As Long, D As Long
6. Contoh variabel E untuk urutan kolom terakhir di baris tunggal dan F untuk urutan kolom di beberapa baris:
Dim E As Long, F As Long
7. Pernyataan ini digunakan untuk mencari urutan baris terakhir data di semua kolom:
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
8. Pernyataan ini digunakan untuk mencari urutan baris terakhir data pada kolom D atau kolom urutan ke-4 saja:
C = Cells(Rows.Count, 4).End(xlUp).Row
9. Pernyataan ini digunakan untuk mencari urutan baris terakhir data hanya pada kolom B, C, dan D:
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
10. Pernyataan ini digunakan untuk mencari urutan kolom terakhir data di semua baris:
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
11. Pernyataan ini digunakan untuk mencari urutan kolom terakhir data pada baris ke-3 saja:
E = Cells(3, Cells.Columns.Count).End(xlToLeft).Column
12. Pernyataan ini digunakan untuk mencari urutan kolom terakhir data hanya pada baris 1, 2, dan 3:
After:=Cells(1, Cells.Columns.Count), _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
13. Buat perintah kotak pesan berisi informasi urutan baris dan kolom terakhir:
"Baris terakhir: " & A & vbCrLf & _
"Baris terakhir data pada kolom D: " & C & vbCrLf & _
"Baris terakhir data diantara kolom B, C, dan D: " & _
D & vbCrLf & vbCrLf & _
"Kolom terakhir: " & B & vbCrLf & _
"Kolom terakhir data pada baris 3: " & E & vbCrLf & _
"Kolom terakhir data diantara baris 1, 2, dan 3: " & F, , _
"Info baris dan kolom terakhir:"
Kode macro lengkapnya:
Dim A As Long, B As Long
Dim C As Long, D As Long
Dim E As Long, F As Long
A = Cells.Find(What:="*", After:=Range("A1"), _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
C = Cells(Rows.Count, 4).End(xlUp).Row
D = Range("B:D").Find(What:="*", After:=Range("B1"), _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
B = Cells.Find(What:="*", After:=Range("A1"), _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
E = Cells(3, Cells.Columns.Count).End(xlToLeft).Column
F = Rows("1:3").Find(What:="*", _
After:=Cells(1, Cells.Columns.Count), _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
MsgBox _
"Baris terakhir: " & A & vbCrLf & _
"Baris terakhir data pada kolom D: " & C & vbCrLf & _
"Baris terakhir data diantara kolom B, C, dan D: " & _
D & vbCrLf & vbCrLf & _
"Kolom terakhir: " & B & vbCrLf & _
"Kolom terakhir data pada baris 3: " & E & vbCrLf & _
"Kolom terakhir data diantara baris 1, 2, dan 3: " & F, , _
"Info baris dan kolom terakhir:"
End Sub
Itulah pembahasan cara mengidentifikasi urutan baris terakhir dan urutan kolom terakhir dari barisan sel yang letaknya dinamis.
Selamat mencoba dan semoga bermanfaat.
0 Comments