Seçilen alanın neresi olduğu farketmeksizin seçilen alanın alt ve üst satır numaralarını sınır kabul edip bu değerlere göre döngü çalıştırarak boş satırları tespit edip silen VBA kodudur.
Option Explicit
Sub SeciliAlandanHareketleASutunundakiBosSatirlariSil()
'--------------------------------------------------
'Değişkenler
'--------------------------------------------------
Dim i As Long
Dim secimUst As Long
Dim secimAlt As Long
'--------------------------------------------------
'Seçilen alanın en altındaki ve en üstündeki
'satırların numarasını bul.
'--------------------------------------------------
secimAlt = Selection(1, 1).Row + Selection.Rows.Count - 1
secimUst = Selection(1, 1).Row
'--------------------------------------------------
'Döngü ile A sütununda boş satır sil.
'--------------------------------------------------
For i = secimAlt To secimUst Step -1
With Cells(i, 1)
If .Value = 0 And Not .HasFormula Then
.EntireRow.Delete
End If
End With
Next
End Sub