Cara menghapus baris kosong di vba (dengan contoh)
Anda dapat menggunakan metode berikut di VBA untuk menghapus baris kosong:
Metode 1: Hapus Baris Kosong dalam Rentang Tertentu
Sub DeleteEmptyRowsInRange()
Sheets(" Sheet1 ").Select
Range(" A1:B10 ").Select
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
Makro khusus ini akan menghapus semua baris kosong dari rentang A1:B10 dari Sheet1 .
Metode 2: Hapus Baris Kosong di Seluruh Lembar
Sub DeleteEmptyRowsInSheet()
'turn off screen updating for faster performance
Application.ScreenUpdating = False
Dim i As Long
With ActiveSheet
For i = .Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
If WorksheetFunction.CountA(.Rows(i)) = 0 Then
ActiveSheet.Rows(i).Delete
End If
Next
End With
'turn screen updating back on
Application.ScreenUpdating = True
End Sub
Makro khusus ini akan menghapus semua baris kosong dari seluruh lembar aktif.
Contoh berikut menunjukkan cara menggunakan masing-masing metode dalam praktik.
Contoh 1: Hapus baris kosong dalam rentang tertentu
Katakanlah kita memiliki kumpulan data berikut di Excel yang berisi informasi tentang berbagai pemain bola basket:
Kita dapat membuat makro berikut untuk menghapus semua baris kosong dari rentang A1:B10 pada lembar ini:
Sub DeleteEmptyRowsInRange()
Sheets(" Sheet1 ").Select
Range(" A1:B10 ").Select
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
Setelah kami menjalankan makro ini, kami menerima keluaran berikut:
Perhatikan bahwa semua baris kosong telah dihapus dari rentang yang kami tentukan.
Contoh 2: Hapus Baris Kosong di Seluruh Lembar
Katakanlah kita memiliki kumpulan data berikut di Excel yang berisi informasi tentang berbagai pemain bola basket:
Kita dapat membuat makro berikut untuk menghapus semua baris kosong dari seluruh lembar:
Sub DeleteEmptyRowsInSheet()
'turn off screen updating for faster performance
Application.ScreenUpdating = False
Dim i As Long
With ActiveSheet
For i = .Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
If WorksheetFunction.CountA(.Rows(i)) = 0 Then
ActiveSheet.Rows(i).Delete
End If
Next
End With
'turn screen updating back on
Application.ScreenUpdating = True
End Sub
Setelah kami menjalankan makro ini, kami menerima keluaran berikut:
Perhatikan bahwa semua baris kosong telah dihapus dari seluruh lembar.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di VBA:
VBA: Cara menghapus baris berdasarkan nilai sel
VBA: Cara menghapus sheet jika namanya mengandung teks tertentu
VBA: cara menghapus file