MENCARI BARIS DATA TERAKHIR TABEL EXCEL DENGAN “Range.CurrentRegion” [MACRO VBA EXCEL TUTORAL SERIES] – Belajar Microsoft Excel : Tips, Tricks & Tutorial

MENCARI BARIS DATA TERAKHIR TABEL EXCEL DENGAN “Range.CurrentRegion” [MACRO VBA EXCEL TUTORAL SERIES]

VBA microsoft visual basic for application excel

Assalamualaikum Warohmatullahi Wabarokatuh

Sodara2 sekaliYan para pembatja jang boediman …. Melanjutkan artikel tentang cara menentukan baris yang akan digunakan saat menambahkan data baru pada tabel Excel … sebelOmnya saya sudah publish tiga metode yaitu :

dan kali ini seperti yang sudah disebut dalam judul alternatip cara untuk mencari baris terakhir yang akan saya Share adalah “Range.CurrentRegion” … kalO sOdara pengen tahu khasiat dari CurrentRegion ini sOdara bisa ikuti langkah2 dibawah ini

CurrentRegion bekerja seperti saat sOdara tekan tombol “Ctrl” + “a” pada sebuah tabel Excel …. bisa sOdara coba dengan cara Select sembarang Cell yang ada dalam sebuah tabel … kalau saya terbiasa menggunakan Cell yang paling atas – kiri … Cell lain jugaK boleh asal masih dalam Range Tabel … lanjut dengan menekan bersamaan tombol “Ctrl” dan “a” …Jika sukses maka seluruh Range yang ditempati tabel tersebut akan ter-Select

Yup dengan CurrentRegion sOdara dapat mengetahui Range yang ditempati oleh sebuah tabel … selanjutnya sOdara dapat mengetahui baris terakhirnya dengan menghitung banyaknya baris (Rows.Count)  yang ada dalam Range tabel tersebut

Sekarang kita bikin kode VBA Excel untuk melakukan langkah-langkah dalam prosedur diatas dan mencari baris terakhirnya … contoh tabelnya kayak gambar berikOt

dan kodenya sederhana kok ndak rumit … dan sudah saya kasih terjemahannya

Silahkan sOdara ganti “A1” dalam kode diatas dengan Cell lain yang berada dalam Range A1:D9 untuk menguji apakah kodenya masih bisa memberikan hasil yang benar 😉

Sekarang bagaimana kalau Tabelnya tidak dimulai dari baris 1 kayak gambar berikut

Tabel diatas menempati Range K14:N22 … kode yang sebelumnya harus dimodip lagi karena tidak dimulai dari baris 1 …  why oh why …. because karena  kode

.CurrentRegion.Rows.Count

hanya menghitung baris yang ada dalam tabel (Range K14:N22) yang hasilnya adalah 9 …. maka untuk mencari baris terakhirnya harus ditambah dengan nomor baris sebelum tabel tersebut dimulai …. bingung yah 🙄 … sederhana kok … tabel dimulai dari K14 … nomor baris sebelum tabel tersebut dimulai adalan 14 – 1 … yaitu 13 … yang bisa didapat dengan kode ini

Range(SelAwal).Row - 1

sehingga kode selengkapnya menjadi kayak berikut

Sekarang lakukan test lagi apakah kodenya tetap sakti saat ketemu tabel yang ompong … coba sOdara hapus secara acak beberapa data dalam tabel …  kayak gambar berikut

kalO sOdara pakE 3 metode sebOmnya ( Range.End(XlUp), Range.End(XlDown) atau Do…Loop ) … sOdara akan mendapatkan hasil yang tidak sesuai harapan …. namun dengan metode Range.CurrentRegion tabel yang ompong tersebut insyaAllah ndak masalah … hasilnya masih akan tetap sama dengan kondisi tabel yang masih lengkap datanya … inilah salah satu alasan saya kenapa memilih metode ini …. namun demikiYan metode Range.CurrentRegion jugak tidak sempurna … dia akan gagal saat menangani tabel ompong jika ompongnya satu baris penuh ataupun satu kolom penuh (jika yang dicari adalah nomor kolom bukan baris)

contoh tabel yang terdapat satu baris penuh data yang kosong dan hasilnya jika kode dieksekusi

Hasilnya baris terakhir adalah 5 bukan 9 ….  karena terpisah oleh satu baris penuh atau satu kolom penuh maka data2 setelah itu dianggap bukan bagian dari tabel  … metodeRange.End(XlUp), Range.End(XlDown) atau Do…Loop jugak bukan sOlusi untuk masalah ini … ompong sebagian saja KO apalagi yang ompong penuh :mrgreen: … karena Tabel yang terpisah baris atau kolom kosong adalah sesuatu yang abnormal … maka solusinya sOdara harus definisikan lebih lanjut lagi batas2 tabelnya …  dan itu tidak bisa berlaku secara umum karena Syarat dan Kondisi hanya berlaku secara spesifik pada tabel yang abnormal tersebut

Kelemahan lainnya metode Range.CurrentRegion tidak bisa dijalankan pad Worksheet yang terProtect … jadi sebelum menjalankan prosedur Range.CurrentRegion Sheet tersebut harus diUnprotect terlebih dahulu dan setelah itu bisa dikembali diProtect … kayak kode berikut ini

DemikiYanlah artikel tutorial macro VBA Excel tentang cara mencari baris terakhir pada sebuah tabel excel menggunakan metode Range.CurrentRegion  …. sebenarnya banyak jalan menuju roma … masih banyak metode yang bisa dipilih untuk mencari baris terakhir dari suatu tabel …. namun dengan segala keterbatasan saya baru bisa Sharing 4  metode saja …. silahkan sOdara download contoh file TheLastRowCurrentRegion.xlsm … yang bisa sOdara download dari halaman Download sub File 2017 bulan Juli … atau bisa klik disini … sekiYan semoga manpaat dan MDLMDL 😉

bingung cara downloadnya ??

Baca aja halaman download dengan klik icon di samping

feed , email and my social media

4 Comments

Jika sOdara menemukan sesuatu yang bermanpaat di marih .... silahkan kasih komennya