VBA (Visual Basic for Applications) adalah bahasa pemrograman yang terintegrasi di dalam Excel untuk mengotomatisasi tugas-tugas dan membuat makro.
VBA memiliki kemampuan untuk menghapus baris dan kolom dengan mudah.
Sedikit catatan yang harus diingat, setiap aksi yang dijalankan VBA tidak bisa dilakukan Undo. Jadi pastikan jika akan menghapus baris atau kolom, sudah benar-benar yakin ingin menghapus baris dan kolom.
karena jika sudah terhapus data yang ada pada kolom atau baris tersebut tidak bisa di undo atau dikembalikan.
Untuk menghapus baris maupun kolom dalam VBA yaitu sama-sama menggunakan perintah .delete
. Yang berbeda adalah Object penyertanya.
Baik menghapus baris ataupun kolom ada 2 metode yang bisa digunakan.
Pertama menggunakan Object dari Row atau Column dan yang kedua menggunakan Object dari Range. kedua Metode ini memiliki cara penghapusan yang berbeda.
Untuk menghapus dengan menggunakan object Rows atau Columns parameter yang diisi adalah sebuah Index dari baris atau kolom yang dihapus.
Misalnya sebagai contoh ingin menghapus baris ke 10, maka notasi scriptnya bisa dibuat seperti dibawah ini
Sub HapusBaris() ' Ganti angka 3 dengan nomor baris yang ingin dihapus Rows(10).Delete End Sub
Sedangkan untuk kolom, ganti object Rows dengan Columns
Sub HapusBaris() ' Ganti angka 10 dengan nomor baris yang ingin dihapus Columns(10).Delete End Sub
Pada dua contoh script diatas, keduanya akan menghapus baris atau kolom pada sheet yang aktif, karena nama sheet tidak explisit dituliskan dalam script.
Jika ingin menghapus pada sheet tertentu misalnya sheet yang bernama “Report” maka notasinya bisa dibuat seperti dibawah ini:
Sub HapusBaris() ' Ganti angka 10 dengan nomor baris yang ingin dihapus Worksheets("Report").Rows(10).Delete End Sub
Cara kedua adalah menghapus baris atau kolom menggunakan Object dari Range.
Cara ini tidak memerlukan sebuah index dari Baris atau kolom.
Misalnya, jika kita ingin menghapus baris seluruh baris di A3, tentunya berdasarkan Object Range("A3")
maka notasi scriptnya bisa dibuat seperti ini:
Sub HapusBaris() ' Ganti angka A3 dengan Range baris yang ingin dihapus Range("A3").EntireRow.Delete End Sub
begitupun jika ingin menghapus kolom A, maka notasinya adalah
Sub HapusBaris() ' Ganti angka A3 dengan Range kolom yang ingin dihapus Range("A3").EntireColumn.Delete End Sub
Jawaban :
Sub HapusBerdasarkanKriteria() Dim Kriteria As String Dim i As Integer Kriteria = "apel" ' Ganti dengan kriteria yang ingin Anda gunakan For i = 100 To 1 Step -1 If lcase(Cells(i, 1).Value) = Kriteria Then Rows(i).Delete End If Next i End Sub
Untuk menghapus baris dengan Looping, penghapusan harus dimulai dari bawah ke atas
vba.co.id