Koşullu Silme

cimcoz

Altın Üye
Katılım
6 Ekim 2004
Mesajlar
324
Excel Vers. ve Dili
MS Office Plus 2016 & Mac OSX
Altın Üyelik Bitiş Tarihi
13-04-2027
Merhaba,
Bu isteyeceğim şeyi forumda bulamadığım için (en azından benzerini) yeni konu açtım, kusura bakmayın.

İsteğim şu:

Ekteki dosyada bulunan J1,J2,.... hücrelerine yazılı veya yazılacak isimlerin bulunduğu satırları A-G arasını kapsayacak şekilde sildirmek istiyorum.
Örneğin:
J2'de bulunan ALI YILMAZ'ın geçtiği satırların;

2259 ALI YILMAZ 11.12.2008 09:12 00:00:30 Outgoing 807 12345678

gibi olanların A-G arasında silinmesi sağlayan bir fonksiyon veya macro konusunda yardımcı olursanız sevinirim.

Teşekkürler.

Cimcoz
 

Ekli dosyalar

Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Aşağıdaki kodları, standart bir module'ün içine kopyalarak çalıştırınız.

Kod:
Sub Coklu_Kritere_Gore_Sil()
    Dim x As Integer
    Dim b As Integer
    Dim iSonJ As Integer
    Dim iSonB As Integer
    Dim rngKrt As Range
    Dim rng As Range
    Dim rngSil As Range
    
    iSonJ = Cells(65536, "J").End(xlUp).Row
    iSonB = Cells(65536, "B").End(xlUp).Row
    
    If iSonJ < 2 Or iSonB < 2 Then
        MsgBox "Silme kriteri girmediniz veya Tabloda hiç veri yok", vbCritical, "Uyarı"
        Exit Sub
    End If
    
    Set rngKrt = Range("J2:J" & iSonJ)
    
    For b = 2 To iSonB
        Set rng = rngKrt.Find(Cells(b, "B"), Lookat:=xlWhole)
        If Not rng Is Nothing Then
            x = x + 1
            If x = 1 Then
                Set rngSil = Range("A" & b & ":G" & b)
            Else
                Set rngSil = Application.Union(rngSil, Range("A" & b & ":G" & b))
            End If
        End If
    Next b
    
    If Not rngSil Is Nothing Then
        With Application
            .Calculation = xlCalculationManual
            rngSil.ClearContents
            .Calculation = xlCalculationAutomatic
        End With
    Else
        MsgBox "Silinecek bir kayıt bulunamadı", vbInformation, "Bilgilendirme"
    End If
    
    Set rng = Nothing
    Set rngKrt = Nothing
    Set rngSil = Nothing
End Sub
 

cimcoz

Altın Üye
Katılım
6 Ekim 2004
Mesajlar
324
Excel Vers. ve Dili
MS Office Plus 2016 & Mac OSX
Altın Üyelik Bitiş Tarihi
13-04-2027
Sayın Pazarçevirdi,
İnanın son 10 günde iki farklı isteğimi süper hızlı ve tamamen çözdünüz.
Çok teşekkür ederim.

Cimcoz
 
Üst