• DİKKAT

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

"c" sutununda metin içeren ve boş olan satırların silinmesi

Katılım
22 Ağustos 2007
Mesajlar
30
Excel Vers. ve Dili
2003 türkçe
Merhaba

Arkadaşlar Excel de "c" sutununa bakıp "c" sutununda boş olan ve metin içeren satırları otomatik silecek bir koda ihtiyacım var. yardımcı olabilirseniz sevinirim.

elimde bir kod var bu kod sadece boş olanları siliyor buna metin olanlarıda silmesiniekleyebilirmiyiz.

Sub DeleteBlankRowsAndColumns()
'A1 hücresinden dolu olan son hücreye kadar olan alanı seç
Range("A1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Dim i As Long
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
'Tüm Satırlarda CountA(hücrenin içi dolu mu?)
'fonksiyonu 0 döndürüyorsa sil
For i = Selection.Rows.Count To 1 Step -1
If WorksheetFunction.CountA(Selection.Rows(i)) = 0 Then
Selection.Rows(i).EntireRow.Delete
End If
Next i
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
End Sub
 
BosveMetinSil

Sub BosveMetinSil()
Dim Arr As Variant
Dim Rng As Range
Dim i As Long
Arr = Array(xlCellTypeBlanks, xlCellTypeConstants)
For i = 0 To UBound(Arr)
Set Rng = Columns("C:C").SpecialCells(Arr(i), 22)
If Not Rng Is Nothing Then
Rng.EntireRow.Delete
End If
Next i
End Sub
 
cevabınız için teşekkür ediyorum kodu denedim önce tam istediğimi yapıyor sonra hepsini siliyor
 
Merhaba

Merhaba

Bende bir sorun çıkmıyor.Birde bunu dener misiniz..

Sub BosveMetinSil2()

Dim deleteRange As Range
With Range("C:C")
On Error Resume Next
Set deleteRange = .SpecialCells(xlCellTypeBlanks)
Set deleteRange = .SpecialCells(xlCellTypeConstants, xlErrors + xlTextValues + xlLogical)
Set deleteRange = Application.Union(deleteRange, .SpecialCells(xlCellTypeBlanks))
deleteRange.EntireRow.Delete
On Error GoTo 0

End With

End Sub


Yada sadece metin sil için

Sub SayıOlmayanıSil()
Dim LASTROW As Long
Dim I As Long
LASTROW = Cells(Rows.Count, "C").End(xlUp).Row
For I = LASTROW To 2 Step -1
If (Not (IsNumeric(Cells(I, "C")))) Then
Rows(I).Delete
End If
Next I
End Sub
 
Alternatif olarak bu kodları kullanabilirsiniz;
Kod:
[FONT="Trebuchet MS"]Sub Emre()
    Dim i%
    For i = Range("C65536").End(3).Row To 1 Step -1
        If Not IsNumeric(Cells(i, 3)) Or Cells(i, 3) = "" Then
            Rows(i).Delete
        End If
    Next i
    i = Empty
End Sub[/FONT]
 
merhaba

arkadaşlar verdiğiniz son kodlar sorunu çözdü çok teşekkür ediyorum. Emeğinize sağlık.
 
Koşullu satır silme

Çok sayıda etiket numaram var ve bazı veri satırlarım boş. Aynı etiket numalarını tekrar etmemek için boş satırların silinmesine ihtiyacım var. Makro kullanamadığım için formüllere ihtiyacın var.
Öncelikli olarak veri olmayan boş satırların silinmesini istiyorum (3. ve 4. satır gibi) böylece her label no'dan 1 tane kalsın istiyorum.
Bunun yanında D1 ya da D1-1-1 ya da D1-1-1-s ile başlayanları nasıl ard arda getirebilirim.
 

Ekli dosyalar

Geri
Üst