Vba'da boş satırları silme (örneklerle)
Boş satırları kaldırmak için VBA’da aşağıdaki yöntemleri kullanabilirsiniz:
Yöntem 1: Belirli Bir Aralıktaki Boş Satırları Kaldırma
Sub DeleteEmptyRowsInRange()
Sheets(" Sheet1 ").Select
Range(" A1:B10 ").Select
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
Bu özel makro, Sheet1’in A1:B10 aralığındaki tüm boş satırları kaldıracaktır.
Yöntem 2: Tüm Sayfadaki Boş Satırları Sil
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
Bu özel makro, tüm boş satırları etkin sayfanın tamamından silecektir.
Aşağıdaki örnekler her yöntemin pratikte nasıl kullanılacağını göstermektedir.
Örnek 1: Belirli bir aralıktaki boş satırları kaldırın
Diyelim ki Excel’de çeşitli basketbol oyuncuları hakkında bilgiler içeren aşağıdaki veri kümesine sahibiz:
Bu sayfada A1:B10 aralığındaki tüm boş satırları kaldırmak için aşağıdaki makroyu oluşturabiliriz:
Sub DeleteEmptyRowsInRange()
Sheets(" Sheet1 ").Select
Range(" A1:B10 ").Select
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
Belirttiğimiz aralıktaki tüm boş satırların kaldırıldığını unutmayın.
Örnek 2: Tüm Sayfadaki Boş Satırları Silme
Diyelim ki Excel’de çeşitli basketbol oyuncuları hakkında bilgiler içeren aşağıdaki veri kümesine sahibiz:
Tüm boş satırları sayfanın tamamından kaldırmak için aşağıdaki makroyu oluşturabiliriz:
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
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
Tüm boş satırların sayfanın tamamından kaldırıldığını unutmayın.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA: Hücre değerine göre satırlar nasıl silinir
VBA: Ad belirli bir metin içeriyorsa bir sayfa nasıl silinir
VBA: dosyalar nasıl silinir