Koşullu satır silme

Katılım
7 Ağustos 2011
Mesajlar
319
Excel Vers. ve Dili
2003-2010 Türkçe
Altın Üyelik Bitiş Tarihi
25/05/2022
Merhaba Arkadaşlar,
C sütununda günün tarihini içeren satırlar hariç diğer satırları silmek istiyorum.
Örnek: C sütununda 08.11.2020 (bugünün tarihi) yazan satırlar hariç diğerlerini nasıl silebilirm?

Sub satir_sil()
For a = [c65536].End(xlUp).Row To 1 Step -1
If Cells(a, 3) <> Format(Date, "dd.mm.yyyy") Then
Cells(a, 3).EntireRow.Delete
End If
Next a
End Sub

koduyla denedim ama bir türlü başaramadım.
 

Ekli dosyalar

Katılım
24 Nisan 2005
Mesajlar
3,669
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Bu şekilde deneyiniz.

C#:
Sub satir_sil()
    sonsatir = Cells(Rows.Count, "C").End(3).Row
    For i = sonsatir To 1 Step -1
        tarihc = CDate(Cells(i, "C").Value)
        If tarihc <> Date Then
           Rows(i).EntireRow.Delete
        End If
    Next i
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,163
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Ben silme işlemlerinde Union komutunu kullanmanızı tavsiye ederim.

Tek çırpıda satırları sildiği için daha hızlı sonuç verecektir.

C++:
Option Explicit

Sub Satir_Sil()
    Dim X As Long, Veri As Variant, Son As Long, Alan As Range
    
    Son = Cells(Rows.Count, 1).End(3).Row
    If Son = 1 Then Son = 2
    
    Veri = Range("C1:C" & Son).Value
    
    For X = LBound(Veri) To UBound(Veri)
        If CDate(Veri(X, 1)) <> Date Then
            If Alan Is Nothing Then
                Set Alan = Cells(X, 3)
            Else
                Set Alan = Application.Union(Alan, Cells(X, 3))
            End If
        End If
    Next
    
    If Not Alan Is Nothing Then
        Alan.EntireRow.Delete
        MsgBox "Silme işlemi tamamlanmıştır.", vbInformation
    Else
        MsgBox "Silinecek satır bulunamadı!", vbExclamation
    End If
End Sub
 
Katılım
7 Ağustos 2011
Mesajlar
319
Excel Vers. ve Dili
2003-2010 Türkçe
Altın Üyelik Bitiş Tarihi
25/05/2022
Asri ve Korhan Hocam,
Yardımlarınız için çok teşekkür ederim.
 
Katılım
24 Şubat 2009
Mesajlar
1,077
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
01-03-2023
Merhaba arkadaşlar; Rica etsem koşullu satır silmede B1 kolonunda bulunan SGK yazan satırlar hariç diğer satırları silmek istiyorum. Nasıl yazabilirim.
Formdan şunu buldum uyarlayamadım. Yardımcı olursanız sevinirim. Teşekkürler.
Sub SGK_HARİÇ_SİL()

For i = Cells(Rows.Count, "B").End(3).Row - 1 To 1 Step -1
If Cells(i, "SGK") Then
Rows(i).Delete
End If
Next
End Sub
Buda işe yaramadı bir bakar mısınız.?
Sub Satir_sil()
sonsatir = Cells(Rows.Count, "B").End(3).Row
For i = sonsatir To 1 Step -1
SİLİNMEYECEK = SGK
If SİLİNMEYECEK <> SGK Then
Rows(i).EntireRow.Delete
End If
Next i
End Sub
 
Son düzenleme:
Katılım
24 Şubat 2009
Mesajlar
1,077
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
01-03-2023
İşlem tamam kodu buldum:
Herkese teşekkürler lazım olanlar için
Sub sil()
Dim sat As Integer
For sat = Cells(65536, "B").End(xlUp).Row To 1 Step -1
If Not Cells(sat, "B") = "SGK" Then 'Not öğesini kaldırırsanız tersini yapar
Cells(sat, "B").EntireRow.Delete shift:=xlUp
End If
Next
End Sub
 
Üst