Skip to main content

AccessTr.neT


Excelde Tüm Sutunları Boş Olan Satırları Topluca Nasıl Silebiliriz

Excelde Tüm Sutunları Boş Olan Satırları Topluca Nasıl Silebiliriz

#7
ö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)
@benbendedeilem
Cevapla
#8
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

Cevapla
#9
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

Cevapla
#10
5. mesajda eklediğim kod gayet güzel çalışıyor. Herhangi bir modüle ekleyin 
Call DeleteBlankRows 
diyerek kullanın
Cevapla
#11
(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
Cevapla
#12
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.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task