Daftar Isi
Ketika kita memiliki dataset besar di buku kerja Excel kita, terkadang akan lebih mudah jika kita dapat mengulang-ulang baris untuk mengekstrak hasil spesifik yang ingin kita dapatkan. VBA adalah metode paling efektif, tercepat, dan teraman untuk menjalankan operasi apa pun di Excel. Pada artikel ini, kami akan menunjukkan kepada Anda 11 metode berbeda tentang cara perulangan melalui baris-baris tabel di Excel dengan Makro VBA .
Unduh Buku Kerja
Anda bisa mengunduh buku kerja Excel latihan gratis dari sini.
Mengulang melalui Baris Tabel dengan VBA.xlsm11 Metode dengan VBA untuk Mengulang Baris Tabel di Excel
Setelah mengikuti bagian ini, Anda akan belajar cara perulangan melalui baris-baris tabel dengan 11 metode yang berbeda, seperti perulangan melalui baris sampai sel kosong, perulangan melalui baris sampai nilai tertentu ditemukan, perulangan melalui baris dan mewarnai sel tertentu, dll. dengan VBA makro di Excel.
Di atas adalah contoh dataset yang akan diikuti oleh artikel ini untuk menjelaskan metodenya.
1. Sematkan VBA untuk Mengulang Setiap Sel di Setiap Baris Tabel berdasarkan Nomor Referensi Sel
Jika Anda ingin perulangan melalui setiap sel di setiap baris tabel di lembar kerja Excel Anda dan dapatkan nomor referensi sel sebagai nilai balik , kemudian ikuti langkah-langkah yang dibahas di bawah ini.
Langkah-langkah:
- Pada awalnya, tekan Alt + F11 pada keyboard Anda atau buka tab Pengembang -> Visual Basic untuk membuka Editor Visual Basic .
- Berikutnya, di jendela kode pop-up, dari bilah menu, klik Sisipkan -> Modul .
- Kemudian, salinan kode berikut dan tempelkan itu ke dalam jendela kode.
Sub LoopThroughRowsByRef() LastRow = Range("B" & Rows.Count).End(xlUp).Row FirstRow = 4 i = FirstRow FirstColumn = 2 Do Until i> LastRow LastColumn = Cells(i, Columns.Count).End(xlToLeft).Column Count = FirstColumn Do Until Count> LastColumn MsgBox "Saat ini mengiterasi sel " & Chr(Count + 64) & i Count = Count + 1 Loop i = i + 1 Loop End Sub
Kode Anda sekarang siap untuk dijalankan.
- Sekarang, tekan F5 pada keyboard Anda atau dari bilah menu pilih Jalankan -> Jalankan Sub/UserForm Anda juga bisa mengklik pada ikon Putar kecil di bilah sub-menu untuk menjalankan makro.
- Atau untuk menyaksikan secara visual dan membandingkan dataset dan hasilnya, Anda bisa Simpan kode dan kembali ke lembar kerja yang menarik.
- Dari sana, Anda bisa mengklik Makro dari Pengembang tab, pilih nama Makro, lalu klik Lari .
Setelah eksekusi kode berhasil, lihat gif di atas untuk melihat hasilnya. Akan ada pop-up MsgBox menunjukkan kepada Anda nomor referensi sel dari setiap sel dari setiap baris dari tabel dalam lembar Excel Anda.
Penjelasan Kode VBA
LastRow = Range("B" & Rows.Count).End(xlUp).Row
Untuk mendapatkan nomor baris terakhir dalam tabel dengan mencari kolom B.
FirstRow = 4
Tetapkan baris nomor 4, dari mana data kita dimulai.
i = Baris Pertama
Untuk mengulang dari baris pertama.
FirstColumn = 2
Tetapkan kolom nomor 2, dari mana data kita dimulai.
Do Until i> LastRow LastColumn = Cells(i, Columns.Count).End(xlToLeft).Column
Mulai mengulang-ulang baris untuk mendapatkan nomor kolom terakhir dengan mengevaluasi baris saat ini sampai baris terakhir.
Count = FirstColumn Do Until Count> LastColumn
Increment mengulang kolom dari baris pertama sampai baris terakhir.
MsgBox "Saat ini mengiterasi sel " & Chr(Count + 64) & i Count = Count + 1 Loop i = i + 1 Loop
Bagian kode ini berfungsi untuk memproses, menambah setelah setiap iterasi dan menampilkan hasil kode.
Baca selengkapnya: Cara Menambahkan Baris Baru Secara Otomatis dalam Tabel Excel
2. Terapkan VBA untuk Mengulang Setiap Sel di Setiap Baris berdasarkan Nilai
Jika Anda ingin mengulang setiap sel di setiap baris tabel dan melempar nilai yang berada di dalam sel sebagai nilai yang dikembalikan maka bagian ini akan membantu Anda mengetahui cara melakukan itu dengan VBA Excel.
Anda bisa melakukannya dengan ListObject dan dengan DataBodyRange properti dari VBA Kami akan menunjukkan kepada Anda kode makro dengan objek dan properti.
2.1. Dengan ListObject
Langkah-langkah untuk mengulang setiap sel di setiap baris tabel berdasarkan nilai sel dengan ListObject di VBA Excel diberikan di bawah ini.
Langkah-langkah:
- Cara yang sama seperti sebelumnya, buka Editor Visual Basic dari Pengembang tab dan Sisipkan a Modul di jendela kode.
- Kemudian, di jendela kode, salinan kode berikut dan tempelkan itu.
Sub LoopThroughRowsByList() Dim iListRow As ListRow Dim iCol As Range For Each iListRow In ActiveSheet.ListObjects("TblStudents").ListRows For Each iCol In iListRow.Range MsgBox iCol.Value Next iCol Next iListRow End Sub
Kode Anda sekarang siap untuk dijalankan.
- Setelah itu, Lari makro seperti yang kami tunjukkan pada bagian di atas. Hasilnya ditunjukkan dalam gif di bawah ini.
Akan ada pop-up MsgBox menunjukkan kepada Anda nilai yang dibawa oleh setiap sel dari setiap baris dari tabel dalam lembar Excel Anda.
Penjelasan Kode VBA
Dim iListRow Sebagai ListRow Dim iCol Sebagai Range
Tentukan variabel-variabelnya.
For Each iListRow In ActiveSheet.ListObjects("TblStudents").ListRows For Each iCol In iListRow.Range MsgBox iCol.Value Next iCol Next iListRow
Bagian kode ini pertama-tama mulai mengulang-ulang baris-baris dalam tabel (" TblSiswa " adalah nama tabel kita). Kemudian masukkan kolom untuk setiap baris. Setelah itu, masukkan nilai sel di MsgBox. Kemudian lanjutkan ke kolom berikutnya. Setelah selesai mengiterasi semua kolom dari satu baris, maka lanjutkan ke baris berikutnya dan lanjutkan proses iterasi sampai baris terakhir.
2.2. Dengan Properti DataBodyRange
Untuk lebih spesifik dengan data yang diekstrak dari tabel, Anda bisa memanfaatkan fungsi DataBodyRange properti dari ListObject . DataBodyRange akan memberikan Anda hasil yang berisi rentang dari daftar antara baris header dan baris sisipan.
Langkah-langkah tentang bagaimana Anda bisa mengulang setiap sel di setiap baris tabel berdasarkan nilai sel dengan DataBodyRange di VBA Excel diberikan di bawah ini.
Langkah-langkah:
- Seperti yang ditunjukkan sebelumnya, buka Editor Visual Basic dari Pengembang tab dan Sisipkan a Modul di jendela kode.
- Kemudian, salinan kode berikut dan tempelkan itu ke dalam jendela kode.
Sub LoopThroughRowsByRange() Dim iRange As Range For Each iRange In ActiveSheet.ListObjects("TblStdnt").DataBodyRange MsgBox iRange.Value Next iRange End Sub
Kode Anda sekarang siap untuk dijalankan.
- Kemudian, Lari makro dan lihat gif berikut untuk melihat outputnya.
Akan ada pop-up MsgBox menunjukkan kepada Anda nilai yang dibawa oleh setiap sel dari setiap baris dari tabel dalam lembar Excel Anda.
Penjelasan Kode VBA
Dim iRange Sebagai Range
Tentukan variabel.
For Each iRange In ActiveSheet.ListObjects("TblStdnt").DataBodyRange MsgBox iRange.Value Next iRange
Bagian kode ini pertama-tama mulai mengulang-ulang baris-baris dalam tabel (" TblStdnt " adalah nama tabel kita) dan mengembalikan rentang nilai tidak termasuk baris header tabel. Kemudian berikan nilai rentang di MsgBox. Kemudian pergi ke baris berikutnya untuk mengekstrak rentang dan melanjutkan proses iterasi hingga baris terakhir.
3. Terapkan Makro VBA untuk Mengiterasi Baris dengan Menggabungkan Kolom di Excel
Bagian ini akan menunjukkan cara mengulang baris-baris dalam tabel dengan menggabungkan kolom-kolom dengan kolom pertama dari dataset Anda di Excel.
Misalnya, untuk dataset kita, pertama-tama, kita akan melakukan iterasi melalui John di Sel B5 dan 101 di Sel C5 dengan menggabungkannya dan kemudian melakukan iterasi melalui John di Sel B5 dan 89 di Sel D5 dengan menggabungkannya dari baris 5 .
Izinkan kami menunjukkan kepada Anda bagaimana Anda bisa melakukan itu dengan VBA makro di Excel.
Langkah-langkah:
- Pada awalnya, buka Editor Visual Basic dari Pengembang tab dan Sisipkan a Modul di jendela kode.
- Kedua, di jendela kode, salinan kode berikut dan tempelkan itu.
Sub LoopThroughRowsByConcatenatingCol() Dim iRange As Range Dim iValue As String With ActiveSheet.ListObjects("TblConcatenate") For Each iRange In .DataBodyRange If iRange.Column = .DataBodyRange.Column Then iValue = iRange.Value Else MsgBox "Evaluating " & iValue & ": " & iRange.Value End If Next iRange End With End Sub
Kode Anda sekarang siap untuk dijalankan.
- Ketiga, Lari Lihatlah gif di bawah ini untuk melihat hasilnya.
Akan ada pop-up MsgBox menunjukkan kepada Anda nilai gabungan sel dari kolom pertama dan kedua ( John di Sel B5 dari Kolum B dan 101 di Sel C5 dari Kolom C ) dan kemudian nilai gabungan sel dari kolom pertama dan ketiga ( John di Sel B5 dari Kolum B dan 89 di Sel D5 dari Kolom D ) dari baris nomor 5 Dan operasi penggabungan ini akan terus berlanjut hingga mencapai baris terakhir dari tabel.
Penjelasan Kode VBA
Dim iRange Sebagai Range Dim iValue Sebagai String
Tentukan variabel.
Dengan ActiveSheet.ListObjects ("TblConcatenate")
Kemudian kode memilih tabel dari sheet aktif (" TblConcatenate " dalam nama tabel kita).
For Each iRange In .DataBodyRange If iRange.Column = .DataBodyRange.Column Then iValue = iRange.Value
Setelah itu, mulai iterasi setiap baris tidak termasuk header kolom. Jika iterasi menemukan kecocokan dalam rentang antara header kolom dan baris, maka iterasi akan menyimpan nilainya di dalam iValue variabel.
Else MsgBox "Evaluating " & iValue & ": " & iRange.Value End If Next iRange End With
Jika kondisi di atas tidak terpenuhi, maka kode melempar nilai di MsgBox dan menyelesaikan kondisi tersebut. Setelah itu, ia berpindah ke perulangan dalam rentang lain dan terus mengulang sampai baris akhir. Setelah mencapai baris akhir, makro mengakhiri eksekusi kode.
4. Sematkan Makro untuk Mengiterasi Baris dengan Menggabungkan Semua Kolom dalam Tabel di Excel
Dalam bagian ini, kita akan belajar cara menggabungkan semua kolom yang dimiliki setiap baris dalam dataset dengan VBA makro di Excel.
Langkah-langkah untuk mengeksekusi itu ditunjukkan di bawah ini.
Langkah-langkah:
- Pertama, buka Editor Visual Basic dari Pengembang tab dan Sisipkan a Modul di jendela kode.
- Kemudian, salinan kode berikut dan tempelkan itu ke dalam jendela kode.
Sub LoopThroughRowsByConcatenatingAllCol() Dim iObj As Excel.ListObject Dim iSheet As Excel.Worksheet Dim iRow As Excel.ListRow Dim iCol As Excel.ListColumn Dim iResult As String Set iSheet = ThisWorkbook.Worksheets("ConcatenatingAllCol") Set iObj = iSheet.ListObjects("TblConcatenateAll") For Each iRow In iObj.ListRows For Each iCol In iObj.ListColumns iResult = iResult & " " &Intersect(iRow.Range, iObj.ListColumns(iCol.Name).Range).Value Next iCol MsgBox iResult iResult = "" Next iRow End Sub
Kode Anda sekarang siap untuk dijalankan.
- Selanjutnya, Lari kode makro.
Seperti yang bisa Anda lihat dari gif di atas adalah bahwa ada pop-up MsgBox menunjukkan kepada Anda nilai gabungan dari semua kolom yang berada di setiap baris dari tabel lembar kerja Excel Anda.
Penjelasan Kode VBA
Dim iObj As Excel.ListObject Dim iSheet As Excel.Worksheet Dim iRow As Excel.ListRow Dim iCol As Excel.ListColumn Dim iResult As String
Tentukan variabel-variabelnya.
Set iSheet = Buku Kerja Ini.Lembar Kerja ("ConcatenatingAllCol")
Tetapkan nama sheet yang akan kita gunakan (" MenggabungkanSemuaCol " adalah nama sheet di buku kerja).
Set iObj = iSheet.ListObjects("TblConcatenateAll")
Tentukan nama tabel yang akan kita gunakan (" TblConcatenateAll " adalah nama tabel dalam dataset kita).
Untuk Setiap iRow Dalam iObj.ListRows
Memulai iterasi melalui setiap baris tabel.
Untuk Setiap iCol Dalam iObj.ListColumns
Memulai iterasi melalui setiap kolom dari setiap baris tabel.
iResult = iResult & " " & Intersect(iRow.Range, iObj.ListColumns(iCol.Name).Range).Value Next iCol MsgBox iResult iResult = "" Next iRow
Menyimpan hasil dengan memotong nilai yang dibawa oleh setiap kolom dari setiap baris. Setelah memindai melalui semua kolom yang berada di setiap baris, ia melewati hasilnya di MsgBox. Kemudian mulai lagi perulangan di baris berikutnya dan terus melakukan perulangan hingga mencapai baris terakhir dari tabel.
Baca selengkapnya: Cara Mengurutkan Beberapa Kolom Tabel dengan Excel VBA (2 Metode)
5. Hentikan Iterasi Jika Nilai Ditemukan dengan Mengulang Baris Tabel dengan Makro VBA
Misalkan Anda ingin mengulang-ulang baris-baris tabel yang Anda miliki dan menghentikan perulangan ketika menemukan nilai tertentu Anda bisa melakukannya hanya dengan kode makro sederhana.
Mari kita pelajari cara melakukan itu VBA di Excel.
Langkah-langkah:
- Pada awalnya, buka Editor Visual Basic dari Pengembang tab dan Sisipkan a Modul di jendela kode.
- Kemudian, di jendela kode, salinan kode berikut dan tempelkan itu.
Sub LoopThroughRowsForValue() Dim iData As Range For Each iData In Range("1:15") If iData.Value = "Edge" Then MsgBox "Edge ditemukan di " & iData.Address End If Next iData End Sub
Kode Anda sekarang siap untuk dijalankan.
- Kemudian, Lari makro.
- Ini akan memulai perulangan dan menghentikannya ketika menemukan nilai tertentu (" Tepi ") dalam rentang dan melempar menghasilkan MsgBox .
Seperti yang bisa Anda lihat dari gambar di atas, ada pop-up MsgBox yang menunjukkan kepada Anda alamat sel, $B$10 , di mana kita menemukan nilai yang ditentukan, " Tepi " .
Penjelasan Kode VBA
Dim iData Sebagai Range
Tentukan variabel.
For Each iData In Range("1:15") If iData.Value = "Edge" Then MsgBox "Edge ditemukan di " & iData.Address End If Next iData
Potongan kode ini di sini untuk mengulang-ulang baris dari 1 hingga 15. Jika menemukan kata tertentu " Tepi " kemudian meneruskan hasilnya dengan alamat sel yang menyimpan kata tersebut. Ini terus melakukan ini sampai selesai memindai semua data dari baris 1 hingga 15 dalam mencari kata.
Baca Lebih Lanjut: Cara Menyisipkan atau Menghapus Baris dan Kolom dari Tabel Excel
6. VBA untuk Mengulang Setiap Baris dan Mewarnai Nilai Tertentu di Excel
Bagaimana jika Anda tidak ingin membuang alamat sel dari nilai yang ditentukan di MsgBox? Anda mungkin ingin mewarnai sel yang membawa nilai yang Anda cari.
Mari kita pelajari cara melakukannya dengan VBA makro.
Langkah-langkah:
- Cara yang sama seperti sebelumnya, buka Editor Visual Basic dari Pengembang tab dan Sisipkan a Modul di jendela kode.
- Kemudian, salinan kode berikut dan tempelkan itu ke dalam jendela kode.
Sub LoopThroughRowsAndColor() Dim iData As Range For Each iData In Range("1:15") If iData.Value = "Edge" Then iData.Interior.ColorIndex = 8 End If Next iData End Sub
Kode Anda sekarang siap untuk dijalankan.
- Setelah itu, Lari makro.
- Ini akan memulai perulangan dan menghentikannya ketika menemukan nilai tertentu (" Tepi ") dalam kisaran dan mewarnai sel dengan ColourIndex yang Anda berikan dalam kode.
Seperti yang bisa Anda lihat dari gambar di atas, C ell B10 , di mana kita menemukan nilai yang ditentukan, " Tepi " berwarna setelah eksekusi kode.
Penjelasan Kode VBA
Dim iData Sebagai Range
Tentukan variabel.
For Each iData In Range("1:15") If iData.Value = "Edge" Then iData.Interior.ColorIndex = 8 End If Next iData
Potongan kode ini di sini untuk mengulang-ulang baris dari 1 hingga 15. Jika menemukan kata tertentu " Tepi " kemudian mewarnai sel yang menyimpan kata tersebut. Ini terus melakukan ini sampai selesai memindai semua data dari baris 1 hingga 15 dalam mencari kata tersebut.
Baca selengkapnya: Cara Menggunakan Array Tabel VLOOKUP Berdasarkan Nilai Sel di Excel
Bacaan Serupa
- Apakah Fungsi TABEL Ada di Excel?
- Cara Mengonversi Tabel ke Daftar di Excel (3 Cara Cepat)
- Ubah Rentang ke Tabel di Excel (5 Metode Mudah)
- Gunakan Formula dalam Tabel Excel secara Efektif (Dengan 4 Contoh)
- Nama Tabel Excel: Semua yang Perlu Anda Ketahui
7. Terapkan VBA untuk Mengulang Setiap Baris dan Mewarnai Setiap Baris Ganjil di Excel
Dari bagian sebelumnya, kita telah mempelajari cara mewarnai sel yang memiliki nilai tertentu. Pada bagian ini, kita akan mempelajari cara untuk mengulang-ulang setiap baris tabel dan mewarnai setiap baris ganjil dengan VBA makro di Excel.
Langkah-langkah untuk mengeksekusi proses dijelaskan di bawah ini.
Langkah-langkah:
- Seperti yang ditunjukkan sebelumnya, buka Editor Visual Basic dari Pengembang tab dan Sisipkan a Modul di jendela kode.
- Kemudian, salinan kode berikut dan tempelkan itu ke dalam jendela kode.
Sub LoopThroughRowsAndColorOddRows() Dim iRow As Long With Range("B4").CurrentRegion For iRow = 2 To .Rows.Count If iRow / 2 = Int(iRow / 2) Then .Rows(iRow).Interior.ColorIndex = 8 End If Next End With End Sub
Kode Anda sekarang siap untuk dijalankan.
- Sekarang, Lari makro dan lihat gambar berikut untuk melihat outputnya.
Semua baris bernomor ganjil diwarnai setelah mengulang semua baris yang berada di tabel lembar kerja.
Penjelasan Kode VBA
Dim iRow Sebagai Long
Tentukan variabel.
Dengan Range("B4").CurrentRegion
Tentukan kisaran yang akan kita gunakan.
For iRow = 2 To .Rows.Count If iRow / 2 = Int(iRow / 2) Then .Rows(iRow).Interior.ColorIndex = 8 End If Next End With
Bagian kode ini mengacu pada iterasi melalui semua baris, mulai dari baris berikutnya dari baris saat ini, B4 Jika mod dari membagi nomor baris dengan 2 sama dengan nomor baris yang dikembalikan yang disimpan dalam tipe integer, maka kode ini mewarnai semua baris yang diekstraksi dengan perhitungan dengan Indeks Warna yang disediakan dalam kode. Itu terus bergerak melalui semua baris sampai mencapai akhir kisaran.
8. Terapkan VBA untuk Mengulang Baris dan Mewarnai Setiap Baris Genap di Excel
Pada bagian sebelumnya, kita telah mempelajari cara mewarnai setiap baris ganjil dari tabel. Pada bagian ini, kita akan mempelajari cara mengulang-ulang setiap baris tabel dan mewarnai setiap baris genap dengan makro VBA di Excel.
Langkah-langkah untuk melaksanakan proses dibahas di bawah ini.
Langkah-langkah:
- Pertama, buka Editor Visual Basic dari Pengembang tab dan Sisipkan a Modul di jendela kode.
- Kemudian, salinan kode berikut dan tempelkan itu ke dalam jendela kode.
Sub LoopThroughRowsAndColorEvenRows() Dim iRow As Long With Range("B4").CurrentRegion For iRow = 3 To .Rows.Count Step 2 .Rows(iRow).Interior.ColorIndex = 8 Next End With End Sub
Kode Anda sekarang siap untuk dijalankan.
- Selanjutnya, Lari makro dan lihat gambar berikut untuk melihat hasilnya.
Semua baris bernomor genap diwarnai setelah mengulang semua baris yang berada di tabel lembar kerja.
Penjelasan Kode VBA
Dim iRow Sebagai Long
Tentukan variabel.
Dengan Range("B4").CurrentRegion
Tentukan kisaran yang akan kita gunakan.
For iRow = 3 To .Rows.Count Step 2 .Rows(iRow).Interior.ColorIndex = 8 Next End With
Potongan kode ini mulai mengulang iterasi setelah tiga baris dari baris saat ini, B4 Ini mewarnainya terlebih dahulu kemudian menambah jumlah baris sebanyak 2 dan terus mewarnainya sampai mencapai baris terakhir dari dataset.
9. Terapkan Makro untuk Mengiterasi Baris Hingga Sel Kosong di Excel
Jika Anda ingin kode Anda bekerja seperti yang akan terjadi loop melalui semua baris tabel dan berhenti ketika mencapai sel kosong Anda dapat mengeksekusi tugas itu baik dengan Untuk Loop dan Do-Until Loop di Excel VBA .
9.1. Dengan FOR Loop
Langkah-langkah untuk mengulang melalui baris dalam tabel sampai sel kosong dengan FOR Loop di VBA Excel diberikan di bawah ini.
Langkah-langkah:
- Pada awalnya, buka Editor Visual Basic dari Pengembang tab dan Sisipkan a Modul di jendela kode.
- Setelah itu, salinan kode berikut dan tempelkan itu ke dalam jendela kode.
Sub ForLoopThroughRowsUntilBlank() Dim x As Integer Application.ScreenUpdating = False NumRows = Range("B4", Range("B4").End(xlDown)).Rows.Count Range("B4").Select For x = 1 To NumRows ActiveCell.Offset(1, 0).Select Next Application.ScreenUpdating = True End Sub
Kode Anda sekarang siap untuk dijalankan.
- Kemudian, Lari makro dan hasilnya ditunjukkan dalam gif di bawah ini.
Setelah menjalankan makro, ini mulai mengulang-ulang semua baris dalam tabel dan setelah mencapai sel kosong, Sel B8 itu menghentikan iterasi .
Penjelasan Kode VBA
Dim x Sebagai Bilangan bulat
Tentukan variabel.
Application.ScreenUpdating = False
Matikan acara pembaruan layar.
NumRows = Range("B4", Range("B4").End(xlDown)).Rows.Count
Simpan semua baris mulai dari Sel B4 sampai yang terakhir.
Rentang ("B4").Pilih
Pilih Sel B4 .
For x = 1 To NumRows ActiveCell.Offset(1, 0).Select Next
Potongan kode ini mulai mengulang-ulang semua baris. Ketika menemukan sel kosong dalam satu baris, maka pilihlah dan lanjutkan pemindaian baris hingga mencapai akhir.
Application.ScreenUpdating = True
Aktifkan acara pembaruan layar.
9.2. Dengan Do-Until Loop
Langkah-langkah untuk loop melalui baris sampai sel kosong dengan loop Do-Until di VBA diberikan di bawah ini.
Langkah-langkah:
- Pertama, buka Editor Visual Basic dari Pengembang tab dan Sisipkan a Modul di jendela kode.
- Kemudian, salinan kode berikut dan tempelkan itu ke dalam jendela kode.
Sub DoUntilLoopThroughRowsUntilBlank() Range("B4").Select Do Until IsEmpty(ActiveCell) ActiveCell.Offset(1, 0).Select Loop End Sub
Kode Anda sekarang siap untuk dijalankan.
- Kemudian, Lari Hasilnya ditunjukkan dalam gif berikut ini.
Setelah menjalankan makro, ia mulai mengulang-ulang semua baris dalam tabel dan setelah mencapai sel kosong, Sel B8 itu menghentikan iterasi .
Penjelasan Kode VBA
Rentang ("B4").Pilih
Pilih sel yang akan kita gunakan untuk bekerja.
Lakukan Sampai IsEmpty(ActiveCell)
Memulai dan melanjutkan perulangan sampai sel kosong ditemukan.
ActiveCell.Offset(1, 0).Pilih Loop
Ketika sel kosong ditemukan dalam satu baris maka pilih dan hentikan iterasi.
10. Makro VBA untuk Mengiterasi Baris Hingga Beberapa Sel Kosong di Excel
Di bagian sebelumnya, Anda telah mempelajari cara menghentikan perulangan ketika sel kosong ditemukan. Tetapi bagaimana jika Anda tidak ingin menghentikan iterasi sampai beberapa sel kosong ditemukan, bukan hanya satu.
Langkah-langkah untuk perulangan melalui baris sampai beberapa sel kosong ditemukan dalam tabel dengan VBA Excel ditunjukkan di bawah ini.
Langkah-langkah:
- Pertama, buka Editor Visual Basic dari Pengembang tab dan Sisipkan a Modul di jendela kode.
- Kemudian, salinan kode berikut dan tempelkan itu ke dalam jendela kode.
Sub LoopThroughRowsUntilMultipleBlank() Range("B4").Select Do Until IsEmpty(ActiveCell) And IsEmpty(ActiveCell.Offset(1, 0)) ActiveCell.Offset(2, 0).Select Loop End Sub
Kode Anda sekarang siap untuk dijalankan.
- Sekarang, Lari makro dan lihat gif berikut untuk outputnya.
Setelah menjalankan makro, ini tidak berhenti pada sel kosong pertama, Sel B8 . berhenti ketika menemukan dua sel kosong berturut-turut pada Sel B16 .
Penjelasan Kode VBA
Rentang ("B4").Pilih
Pilih sel yang akan kita gunakan untuk bekerja.
Lakukan Sampai IsEmpty(ActiveCell) Dan IsEmpty(ActiveCell.Offset(1, 0))
Memulai dan melanjutkan perulangan sampai ditemukan dua sel kosong yang berurutan.
ActiveCell.Offset(2, 0).Pilih Loop
Ketika dua sel kosong yang berurutan ditemukan, maka pilih dan hentikan iterasi.
11. Sematkan VBA untuk Mengulang Baris dengan Menggabungkan Semua Kolom Hingga Kosong di Excel
Bagian ini akan menunjukkan kepada Anda cara loop melalui semua baris dalam tabel dan menggabungkan semua kolom sampai sel kosong ditemukan dengan VBA Excel.
Mari kita pelajari cara melakukannya dengan VBA makro di Excel.
Langkah-langkah:
- Pada awalnya, buka Editor Visual Basic dari Pengembang tab dan Sisipkan a Modul di jendela kode.
- Kemudian, salinan kode berikut dan tempelkan itu ke dalam jendela kode.
Sub ConcatenatingAllColUntilBlank() Dim iSheet As Worksheet Dim iValue As Variant Dim iResult As String Set iSheet = Sheets("ConcatenatingAllColUntilBlank") iValue = Range("B4").CurrentRegion For i = 2 To UBound(iValue, 1) iResult = "" For J = 1 To UBound(iValue, 2) iResult = IIf(iResult = "", iValue(i, J), iResult & " " & iValue(i, J)) Next J MsgBox iResult Next i End Sub
Kode Anda sekarang siap untuk dijalankan.
- Kemudian, Lari makro dan lihat gif berikut untuk hasilnya.
Seperti yang bisa Anda lihat dari gif di atas adalah bahwa ada pop-up MsgBox menunjukkan kepada Anda nilai gabungan dari semua kolom yang berada di setiap baris dari tabel lembar kerja Excel Anda. Tapi itu berhenti setelah mencapai sel kosong .
Penjelasan Kode VBA
Dim iSheet Sebagai Lembar Kerja Dim iValue Sebagai Varian Dim iResult Sebagai String
Tentukan variabel-variabelnya.
Set iSheet = Sheets("ConcatenatingAllColUntilBlank")
Tetapkan nama sheet yang akan kita gunakan (" MenggabungkanSemuaColSampaiKosong " adalah nama sheet di buku kerja).
iValue = Range("B4").CurrentRegion
Tentukan kisaran yang akan kita gunakan.
For i = 2 To UBound(iValue, 1) iResult = "" For J = 1 To UBound(iValue, 2) iResult = IIf(iResult = "", iValue(i, J), iResult & " " & iValue(i, J)) Next J MsgBox iResult Next i
Potongan kode ini memulai perulangan dengan larik. Ini terus berputar sampai mengembalikan subskrip terbesar dari larik dan batas bawah dimensi pertama. Kemudian memasuki iterasi mengekstraksi batas bawah dimensi kedua. Setelah itu, ia meneruskan semua nilai yang diekstraksi dalam iHasil variabel dengan menggabungkannya dan melemparkan hasilnya ke dalam MsgBox. Ini terus melakukannya sampai menemukan sel kosong.
Kesimpulan
Sebagai kesimpulan, artikel ini menunjukkan kepada Anda 11 metode efektif tentang cara perulangan melalui baris-baris tabel di Excel dengan Makro VBA Saya harap artikel ini sangat bermanfaat bagi Anda. Jangan ragu untuk mengajukan pertanyaan apa pun mengenai topik ini.