• DİKKAT

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

VBA ile Süzme İşlemi

Katılım
28 Haziran 2007
Mesajlar
141
Excel Vers. ve Dili
microsoft office 2007 - ingilizce
Arkadaşlar merhaba,

Eklemiş olduğum dosyanın içermiş olduğu userform incelendiğinde, süzme kriteri girilebilecek bir adet TextBox olduğunu göreceksiniz. Benim yapmak istediğim, buraya gireceğim bir sayıdan küçük ya da eşit olan değerlerin, "not" sekmesinde süzülmesi ve süzülen değerlerin "süzülmüş" sayfasına kopyalanması.

Yalnız dikkat edilmesi gereken, makro en başta "not" sayfasında herhangi bir filtre varsa bunu kaldırmalı ve sonra diğer işlemleri yapmalıdır.

Yardımcı olabilir misiniz?
 

Ekli dosyalar

Merhaba
Kitabınızda süzülmüş sayfası bulunmuyor. Ayrıca bunu hiç süzme yapmadan direk kriter'e uyanları diğer sayfaya alsak daha iyi olmaz mı_?
Süz sonra al falan işleri uzatıyorsunuz.
 
Merhaba İhsan Bey,

Yanlış dosyayı eklemişim, doğru olan dosyaya bu mesajdaki ekten ulaşabilirsiniz. Dediğiniz gibi yapmamız daha mantıklı, haklısınız. Yardımcı olur musunuz dediğiniz şekilde?
 

Ekli dosyalar

Merhaba İhsan Bey,

Yanlış dosyayı eklemişim, doğru olan dosyaya bu mesajdaki ekten ulaşabilirsiniz. Dediğiniz gibi yapmamız daha mantıklı, haklısınız. Yardımcı olur musunuz dediğiniz şekilde?

Merhaba
Userform'un kod bölümüne kopyalayın ve deneyin.
Kod:
Private Sub CommandButton_Enter_Click()
Dim ts, kaplan, trabzonspor, hamsi As Date
Dim bordo, mavi
Set bordo = Sheets("not")
Set mavi = Sheets("süzülmüş")
trabzonspor = MsgBox(TextBox_DAYS & " Notundan Küçük" _
& " ve Eşit Olanları Aktarayım Mı_?", vbYesNo, "Onay")
If trabzonspor = vbNo Then Exit Sub
Application.ScreenUpdating = False
hamsi = Time
mavi.Range("B2:C" & Rows.Count).ClearContents
kaplan = 2
For ts = 2 To bordo.Cells(Rows.Count, "A").End(xlUp).Row
If bordo.Cells(ts, "B") <= CDbl(TextBox_DAYS) Then
mavi.Cells(kaplan, "A") = bordo.Cells(ts, "A")
mavi.Cells(kaplan, "B") = bordo.Cells(ts, "B")
kaplan = kaplan + 1
End If
Next
Application.ScreenUpdating = True
MsgBox Format(hamsi - Time, "hh:mm:ss") & vbLf _
& "Sürede " & TextBox_DAYS & " Küçük olanları ve Eşit" _
& " Olanları Aktardım", , "Bitiş"
End Sub
 
İhsan Bey çok teşekkür ederim.
 
Geri
Üst