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

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *