AccessTr.neT
Excelde Tüm Sutunları Boş Olan Satırları Topluca Nasıl Silebiliriz - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Excel (https://accesstr.net/forum-microsoft-excel.html)
+--- Forum: Excel Cevaplanmış Soruları (https://accesstr.net/forum-excel-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Excelde Tüm Sutunları Boş Olan Satırları Topluca Nasıl Silebiliriz (/konu-excelde-tum-sutunlari-bos-olan-satirlari-topluca-nasil-silebiliriz.html)

Sayfalar: 1 2 3 4


Cvp: Excelde Tüm Sutunları Boş Olan Satırları Topluca Nasıl Silebiliriz - accessman - 14/01/2020

özellikle data sayfası olarak kullandığımız Excel sayfalarında satır tamamen boş ise son eklediğim kod ile sayfa ismini girerek satırı silebiliyoruz (daha denemedim)


Cvp: Excelde Tüm Sutunları Boş Olan Satırları Topluca Nasıl Silebiliriz - accessman - 14/01/2020

birde bu varmış gerçek son satırı bulup sonra boşları siliyormuş

Kod:
Function XLBlank()
    For Each sh In ActiveWorkbook.Worksheets
        sh.Activate
        Cells(1, 1).Select
        lRow = Cells.Find(What:="*", _
            After:=Range("A1"), _
            LookAt:=xlPart, _
            LookIn:=xlFormulas, _
            SearchOrder:=xlByRows, _
            SearchDirection:=xlPrevious, _
            MatchCase:=False).Row

        Range("A" & lRow + 1, Range("A1").SpecialCells(xlCellTypeLastCell).Address).Select
        On Error Resume Next
        Selection.EntireRow.SpecialCells(xlBlanks).EntireRow.Delete
        Cells(1, 1).Select
        ActiveWorkbook.Save
    Next
    ActiveWorkbook.Worksheets(1).Activate
    ActiveWorkbook.Save
End Function




Cvp: Excelde Tüm Sutunları Boş Olan Satırları Topluca Nasıl Silebiliriz - accessman - 14/01/2020

son satırın belirlenebileceği farklı bir kod

Kod:
Sub delete_rows_blank2()

t = 1
lastrow = ActiveSheet.UsedRange.Rows.Count
lastcol = ActiveSheet.UsedRange.Columns.Count

Do Until t = lastrow

For j = 1 To lastcol
    'This only checks the first column because the "Else" statement below will skip to the next row if the first column has content.
    If Cells(t, j) = "" Then

        j = j + 1

            If j = lastcol Then
            Rows(t).Delete
            t = t + 1
            End If

    Else
    'Note that doing this row skip, may prevent user from checking other columns for blanks.
        t = t + 1

    End If

Next

Loop

End Sub




Cvp: Excelde Tüm Sutunları Boş Olan Satırları Topluca Nasıl Silebiliriz - accessman - 14/01/2020

5. mesajda eklediğim kod gayet güzel çalışıyor. Herhangi bir modüle ekleyin 
Call DeleteBlankRows 
diyerek kullanın


Cvp: Excelde Tüm Sutunları Boş Olan Satırları Topluca Nasıl Silebiliriz - feraz - 15/01/2020

(14/01/2020, 12:40)accessman yazdı: 5. mesajda eklediğim kod gayet güzel çalışıyor. Herhangi bir modüle ekleyin 
Call DeleteBlankRows 
diyerek kullanın

Normalde döngü ile boş satırları silme uzun iş.
Çok kısa yöntemi var onu eklerim sonra.
Birde boş satır yada koşullu satır silmek için döngü kullanılacaksa alttaki kibi kalıpla olabilir.kodu kafadan yazacağım için sorun yada eksik olabilir.


For i =  500 to 1 step -1
İf cells(i,1).value="" then rows(i).entirerow.delete
Next


Cvp: Excelde Tüm Sutunları Boş Olan Satırları Topluca Nasıl Silebiliriz - feraz - 15/01/2020

Kod:
Range("A2:D500").SpecialCells(xlCellTypeBlanks).select
Üstteki kod A5 ile F500 arasındaki boş hücreleri seçer.Boş yoksa hata verir.Bunun için ise üst satıra on error goto yada on error resume next kullanılır.
Yol göstermesi için örnek ekledim.