• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Boş Satır Silme

Katılım
15 Eylül 2008
Mesajlar
132
Excel Vers. ve Dili
office 2016
Arkadaşlar Merhaba;

3 sayfadan oluşan çalışmam var. Sayfaların hepsindeki boş satırları tek makro ile nasıl silebilirim.


"Aşağıdaki makro ile tek tek siliyorum."
Sub Bossatirsil()
LastRow = ActiveSheet.UsedRange.Row - 1 + _
ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = False
For k = LastRow To 1 Step -1
If Cells(k, 1) = "" Then Rows(k).Delete
Next k
End Sub
 
Kod:
Sub security()
Application.ScreenUpdating = False
        Dim i As Integer
        t = ActiveSheet.UsedRange.Rows.Count
            For i = t To 1 Step -1
                If IsEmpty(Cells(i, 1)) And IsEmpty(Cells(i, 2)) And IsEmpty(Cells(i, 3)) And IsEmpty(Cells(i, 4)) Then
            Rows(i).Delete Shift:=xlUp
        End If
   Next i
Application.ScreenUpdating = True
End Sub

Kodunu Denermisiniz... Sayfanızdaki boş Satırların tamamını siler...
 
Cevap için teşekkür ederim ama bana sadece istediğim sayfalardaki boş satırları silecek makro lazım.
 
Selamlar,

Alternatif olarak aşağıdaki kodu denermisiniz. Kırmızı renkli bölüme kendi sayfa adlarınızı yazarak deneyin. Eğer daha fazla sayfa adı kontrolü yapacaksanız araya OR ifadesi ekleyerek sorguyu çoğaltabilirsiniz.

Aşağıdaki kod sayfa adı "Sayfa1" ve "Sayfa2" olmayan tüm sayfalarda çalışır.

Kod:
Option Explicit
 
Sub SAYFALARDAKİ_A_SÜTUNUNDAKİ_BOŞ_SATIRLARI_SİL()
    Dim SAYFA As Worksheet, X As Long
 
    For Each SAYFA In ThisWorkbook.Worksheets
        [COLOR=red]If SAYFA.Name <> "Sayfa1" Or SAYFA.Name <> "Sayfa2" Then[/COLOR]
            For X = SAYFA.Range("A65536").End(3).Row To 1 Step -1
                If SAYFA.Cells(X, "A") = Empty Then SAYFA.Rows(X).Delete
            Next
        End If
    Next
 
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Merhaba,

Alternatif olması açısından, döngüsüz satır silme

Kod:
Sub SayfadaBosSatirSil()
    Dim s As Worksheet
    For Each s In ThisWorkbook.Worksheets
        If s.Name = "Sayfa1" Or _
           s.Name = "Sayfa2" Or _
           s.Name = "Sayfa3" Then
        s.Columns("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
        End If
    Next s
 
    MsgBox "Boş Satırlar Silindi", vbInformation
End Sub
 
Alternatif :
Kod:
Sub Düğme1_Tıklat()
For a = 1 To 3
Sheets(a).[a1:a500].SpecialCells(4).Rows.Delete
Next
End Sub
 
Geri
Üst