• DİKKAT

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

Koşullu satır silme

  • Konbuyu başlatan Konbuyu başlatan steppe
  • Başlangıç tarihi Başlangıç tarihi
Katılım
7 Ağustos 2011
Mesajlar
319
Excel Vers. ve Dili
2003-2010 Türkçe
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

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
 
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
 
Asri ve Korhan Hocam,
Yardımlarınız için çok teşekkür ederim.
 
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:
İş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
 
Geri
Üst