• DİKKAT

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

Koşullara bağlı olarak satır silme

1903emre34@gmail.com

Altın Üye
Katılım
29 Mayıs 2016
Mesajlar
946
Excel Vers. ve Dili
Microsoft Excel 2013 Türkçe
Merhaba,

Madde no kısmın altında yer alan (aynı madde numarada) hesap türleri 420,991,993,250,971,250,971,973 yer alıyorsa satırlardan silinmesi için nasıl kod oluşturabiliriz? (istenen sayfa2'de yapılmıştır) 5 ve 6 madde no silinmeyecek; çünkü hesaplar belirttiğimiz kriterde yer almıyor

http://www.dosya.tc/server10/ua0z4z/hesap_1.zip.html
 
Düzenleme Sayfa1 içinde mi yapılacak, yoksa kriterlerinize uyan veriler Sayfa2 ye mi taşınacak konusunda tereddütte kaldım. Sonuçta Sayfa1 deki verileri silmeden, kriterlerinize uyanları sayfa2 ye taşıyacak şekilde aşağıdaki kodları düzenledim.
Kod:
Sub istenmeyeni_sil()
Dim s1 As Worksheet, ss As Long
Dim b(), z As Object, veri As Object, n As Integer, i As Long

Set s1 = Sayfa1
ss = s1.Range("C55500").End(3).Row
ReDim b(1 To 11, 1 To 1)
Set z = CreateObject("vbscript.regexp")
z.Global = True
z.Pattern = "(420)|(991)|(993)|(250)|(971)|(973)"
n = 0
For i = 2 To ss
    Set veri = z.Execute(s1.Range("C" & i).Value)
    If veri.Count = 0 Then
    n = n + 1
    ReDim Preserve b(1 To 11, 1 To n)
        For d = 1 To 11
            b(d, n) = s1.Cells(i, d).Value
            
        Next d
    End If
Next i
s1.Range("A2:K55500").ClearContents
s1.Range("A2").Resize(n, 11).Value = Application.Transpose(b)
MsgBox "İşlem tamamlandı", vbInformation, "antonio"
Erase b
Set z = Nothing
Set veri = Nothing
Set s1 = Nothing
Set s2 = Nothing
End Sub
 
Son düzenleme:
İlginiz için teşekkürler; düzenleme sayfa1'de yapılacak, sayfa2'ye aktarma olmayacak.
 
Kodları istediğiniz şekilde revize ettim.
 
Sn.antonio kodlar güzel çalışıyor, bir husus var, dosya içerisinde açıklamalar yaptım.
 
Son düzenleme:
C sütununda belirttiğiniz hesap numaralarını taşıyanlar siliniyor, bunun dışında kalanlar silinmiyor. 156 bu kuralın dışında yani zaten silinmiyor. Siz "silinmemesi için" ne yapabiliriz diye yazmışsınız.
Yeni numaralar ekleme gereği duyarsanız mı demek istiyorsunuz? Eğer dediğiniz buysa, z.Pattern = " ...." çift tırnaklı parantez içinde yer alan numaraların arasına onu da ekleyin. veya silinmesini istemediğiniz varsa oradan çıkarın.
 
Aynı madde numarada; belirlenen hesap kodlar bir tane bile yoksa, madde numara olan satır silinmesini istemiyorum,
 
Geri
Üst