Iklan
jump to navigation

MENCARI BARIS DATA TERAKHIR TABEL EXCEL DENGAN PENGULANGAN PROSEDUR “Do…Loop” [MACRO VBA EXCEL TUTORAL SERIES] 19 November 2016

Posted by excellerates in Excel, vba.
Tags: , , , , , ,
trackback

VBA microsoft visual basic for application excel

Assalamulaikum Warohmatullahi Wabarokatuh

Sodara2 sekaliyan para pembatja jang boediman … melanjutkan topik cara mencari baris terakhir dalam sebuah tabel … setelah dibahas dalam dua artikel sebelomnya tentang cara mencari baris terakhir yang berisi data dalam sebuah tabel Excel yang memanfaatkan metode “Range.End(XlDown)klik disini dan “Range.End(XlUp) klik disini … metode berikutnya dalam  artikel ini adalah “Do … Loop

Metode “Do … Loop” digunakan untuk melakukan pengulangan langkah2 prosedur yang berada diantara statement “Do” dan “Loop” … agar pengulangan prosedur dijalankan harus memenuhi syarat yang ditetapkan … Syntaxnya sebagai berikut :

Do [{While | Until} Syarat]
[prosedur]
[Exit Do]
[prosedur]
Loop

Atau bisa juga pakai Sintaks seperti berikut :

Do
[prosedur]
[Exit Do]
[prosedur]
Loop [{While | Until} Syarat]

Sintaks diatas mempunya 2 bagian yang perlu mendapat perhatian :
Prosedur yang akan dijalankan/diulang jika memenuhi Syarat/Kondisi yang ditetapkan
Syarat/Kondisi … berupa ekspresi yang hasilnya TRUE atau FALSE … jika ekspresi syarat tersebut hasilnya NULL akan dianggap sebagai FALSE ... Syarat diletakkan setelah statement “While” atau “Until” … jika Syarat pengulangan tidak ditetapkan dengan “While” atau “Until” maka untuk membatasi pengulangan prosedur bisa dilakukan dengan statemen “Exit Do”

Ada beberapa alternatip yang bisa sOdara pakai untuk mengaplikasikan metode “Do…Loop” ini … penggunaanya dalam kasus untuk mencari baris terakhir yang berisi data dalam sebuah tabel ada beberapa variasi yang bisa sOdara pilih

  1. “Do While … Loop” kalau diartkan secara ngawur adalah “lakukan PROSEDUR saat memenuhi SYARAT PENGULANGAN … sebelomnya kita identifikasi dulu Prosedur yang akan dijalankan dan Syarat Pengulanggannya

Prosedur yang akan dijalankan adalah “menentukan/menetapkan baris berikutnya yang akan dievaluasi” … nilai baris berikutnya disimpan dalam Variabel BarisTerakhir (nama Variabel boleh sesuai selera sOdara) … untuk menentukan/menetapkan baris berikutnya kodenya sebagai berikut :

BarisTerakhir = BarisTerakhir + 1

Syarat Pengulangan adalah “Jika baris berikutnya TIDAK KOSONG” … syarat diletakkan setelah statemen “Do While”

Do While Not .Cells(BarisTerakhir + 1, Kolom).Value = Empty

Dan berikut adalah untaian kode selengkapnya

do ... loop

2. “Do … Loop While” kembali saya memberanikan diri untuk mengartikannya secara ngawur yaitu “ulangi PROSEDUR saat memenuhi SYARAT PENGULANGAN”Prosedur dan Syarat Pengulangan masih sama dengan metode nomor 1 … jadi kodenya jugaK beda dikit aja

• Prosedur

BarisTerakhir = BarisTerakhir + 1

• Syarat Pengulangan adalah “Jika baris berikutnya TIDAK KOSONG” … syarat diletakkan setelah statemen “Loop While”

Loop While Not .Cells(BarisTerakhir + 1, Kolom).Value = Empty

Do ... Loop While

3. “Do Until … Loop” yang arti ngawurnya “lakukan PROSEDUR sampai memenuhi SYARAT BERHENTI ULANGI” … Prosedur masih sama dengan nomor2 sebelomnya namun Syaratnya beda

• Prosedur

BarisTerakhir = BarisTerakhir + 1

• Syarat Berhenti Ulangi merupakan kebalikan dari Syarat Pengulangan … adapun Syarat Berhenti Ulangi adalah jika “baris yang dievaluasi kosong” dan diletakkan setelah statemen “Do Until”

Do Until .Cells(BarisTerakhir + 1, Kolom).Value = Empty

Dan kode selengkapnya sebagai berikut

Do Until ... Loop

4. “Do … Loop Until” yang arti ngawurnya “ulangi PROSEDUR sampai memenuhi SYARAT BERHENTI ULANGI”Prosedur dan Syarat masih sama dengan metode nomor 3 sehingga kodenya tinggal modip dikit saja yaitu mindahin syarat yang tadinya dibelakang “Do” sekarang dibelakang “Loop”

• Prosedur

BarisTerakhir = BarisTerakhir + 1

• Syarat Berhenti Ulangi diletakkan setelah statemen “Loop Until”

Loop Until .Cells(BarisTerakhir + 1, Kolom).Value = Empty

Do ... Loop Until

5. “Do … Exit Do … Loop” yang saya terjemahkan menjadi “keluar dari Do…Loop jika memenuhi SYARAT BERHENTI ULANGI”Prosedur dan Syarat sebagai berikut

• Prosedur

BarisTerakhir = BarisTerakhir + 1

• Syarat Berhenti Ulangi adalah jika “baris berikutnya kosong” … evaluasi dilakukan sebelum prosedur menentukan baris berikutnya

If .Cells(BarisTerakhir + 1, Kolom).Value = Empty Then
Exit Do
End If

Do ... exit Do .... Loop

evaluasi bisa juga dilakukan setelah prosedur menentukan baris berikutnya kodenya beda dikit

Do ... Exit Do ... Loop

contoh2 diatas adalah untuk tabel yang dimulai dari cell A1 … jika tabel tidak dimulai dari A1 silahkan sOdara sesuaikan nilai konstanta Kolom dan nilai awal Variabel BarisTerakhir … saya hanya bikinkan 1 contoh kode untuk tabel yang saja tidak dimulai dari A1 menggunakan “Do … Exit Do … Loop” kayak berikut ini

Do ...Exit Do ...Loop

akhirnya selesai jugak artikel ini … untuk contoh file TheLastRowDoLoop.xlsm bisa sOdara download dari halaman Download sub Page 2016 bulan November … sekiYan semoga manpaat dan MDLMDL 😉

….Bingung Downloadnya ❓
Baca aja halaman download klik disini
follow google+GplusExcellerates
like facebook pageFBExcellerates
follow twittertwittersyukronfatah
Iklan

Komentar»

1. MENCARI BARIS DATA TERAKHIR TABEL EXCEL DENGAN “Range.End(xlDown)” [MACRO VBA EXCEL TUTORAL SERIES] | Belajar Excel : Tips, Tricks & Tutorials - 19 November 2016

[…] yang akan saya bahas adalah metode Do…Loop … insyaAllah minggu depan publish (klik dimarih) … seperti biasa sOdara bisa Download file contohnya TheLastRowXlDown.xlsm pada folder 2016 […]

2. MENCARI BARIS DATA TERAKHIR TABEL EXCEL DENGAN “Range.End(xlUp)” [MACRO VBA EXCEL TUTORAL SERIES] | Belajar Excel : Tips, Tricks & Tutorials - 19 November 2016

[…] Do-Loop klik disini […]

3. Kang IM - 21 November 2016

metode Do Loop ini jarang dipakai ya om?

excellerates - 22 November 2016

Saya jarang pakai … kalau barisnya banyak lelet

4. Imam Dermawan - 18 April 2017

Mantaps makronya, thanks gan..


Silahkan berkomentar

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: