• DİKKAT

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

Makro ile veri süzme

Katılım
8 Haziran 2007
Mesajlar
761
Excel Vers. ve Dili
excel- 2003 Türkçe
Cümleten kolay gelsin. Ekteki dosyada Form üzerindeki Combobox tan Data sayfasındaki E sutununda bulunan tarillerden birini seçtiğimde Rapor sayfasına aynı tarihteki bilgilerin rapor sayfasına gelmesini istiyorum. kolay gelsin.
 

Ekli dosyalar

Dosyanız ektedir.:cool:
Kod:
Private Sub CommandButton1_Click()
Dim s1 As Worksheet, s2 As Worksheet, sat As Long, sat2 As Long
Dim hcr As Range
If ComboBox1.Value = "" Then Exit Sub
Set s1 = Sheets("DATA")
Set s2 = Sheets("RAPOR")
sat = s1.Cells(65536, "B").End(xlUp).Row
sat2 = s2.Cells(65536, "B").End(xlUp).Row + 1
For Each hcr In s1.Range("B2:E" & sat)
    If hcr.Value = CDate(ComboBox1.Value) Then
        s2.Range("A" & sat2) = sat2 - 1
        s2.Range("B" & sat2 & ":E" & sat2).Value = s1.Range("B" & hcr.Row & ":E" & hcr.Row).Value
        sat2 = sat2 + 1
   End If
Next
End Sub
 

Ekli dosyalar

yanıt

Filtreleme ile yapılan örnek
Kod:
Private Sub CommandButton1_Click()
Sheets("RAPOR").Range("A2:E30").ClearContents
    With Sayfa2
        .[e1].AutoFilter
        .[e1].AutoFilter field:=5, Criteria1:=CDate(ComboBox1.Value)
        .[e1].CurrentRegion.Copy Sayfa3.[a1]
    End With
End Sub
 

Ekli dosyalar

Arkadaşlar teşekkür ederim. Ellerinize sağlık. kolay gelsin
 
Kolay gelsin



Sub aktar()
Dim sh As Worksheet, sat As Long
Set sh = Sheets("DATA")
Sheets("Staj_Belgesi").Select
sat = sh.Cells(65536, "B").End(xlUp).Row + 1
If sat >= 65533 Then
MsgBox "DATA sayfasında satır doldu." & vbLf & "Kayıt girilmedi.", vbCritical, "UYARI"
Exit Sub
End If
If Range("E2").Value = "" Then
MsgBox "ADAYIN ADI VE SOYADI boş olamaz" & vbLf & "Kayıt girilmedi.", vbCritical, "UYARI"
Range("E25").Select
Exit Sub
End If
sh.Cells(sat, "B").Value = Range("E2").Value
sh.Cells(sat, "D").Value = Range("E5").Value
sh.Cells(sat, "C").Value = Range("E6").Value
sh.Cells(sat, "E").Value = Range("E27").Value
sh.Cells(sat, "F").Value = Range("E29").Value
End Sub

Bu koda şöyle birşey ilave edebilirmiyiz. Aktarma yaptıktan sonra E2 hücresi ile G6 hücresindeki verileri silebilir mi. Yani veriyi aktardıktan sonar veri girdiim hücreleri temizlesin.
 
:cool:

Kod:
sh.Cells(sat, "B").Value = Range("E2").Value
sh.Cells(sat, "D").Value = Range("E5").Value
sh.Cells(sat, "C").Value = Range("E6").Value
sh.Cells(sat, "E").Value = Range("E27").Value
sh.Cells(sat, "F").Value = Range("E29").Value
[B][COLOR="Red"]range("E2:G6").clearcontents[/COLOR][/B]
 
Süzme yardımı ile veri silme

aslında denemiştim ama hata vermişti. Demekki işi ehline bırakmak gerikiyormuş :-) teşekkürler kolay gelsin.
Kusura bakmayın bende hayal gücü var ama icraat yok.

iki sorum daha olacak
1. If Range("E2").Value = "" Then bu kod ile sadece E2 hücreri boş iken değil de E2 ile E6 hücrelerinide kapsayacak şekilde olabilirmi.

2. Bir sutunda değişik tarihler var. Bu tarihlerden birini süzdükten sonra o tarihe ait bilgilerin hepsini nasıl silebilirim. Ekteki dosyada örnekte açıkladım.
 

Ekli dosyalar

aslında denemiştim ama hata vermişti. Demekki işi ehline bırakmak gerikiyormuş :-) teşekkürler kolay gelsin.
Kusura bakmayın bende hayal gücü var ama icraat yok.

iki sorum daha olacak
1. If Range("E2").Value = "" Then bu kod ile sadece E2 hücreri boş iken değil de E2 ile E6 hücrelerinide kapsayacak şekilde olabilirmi.

2. Bir sutunda değişik tarihler var. Bu tarihlerden birini süzdükten sonra o tarihe ait bilgilerin hepsini nasıl silebilirim. Ekteki dosyada örnekte açıkladım.
1) if worksheetfunction.counta(range("E2:E6"))=0 then
2)diğer sayfada süzüpte o süzülen veriyi başka sayfadan silmek için ID NO diye bir sütun oluşturup.ID nosuna göre silme yapılabilir.Ayni syafada süzüp ayni sayfada süzme işi için buna gerek yoktur.Ayi sayfada bir buton koyarak süzülmüş verileri süzebilirsiniz.Ama hepsi gözüktüğü haldede hepside silenebilir.Çünkü kodda görünür hücreleri silecem.Buda var .Ona göre karar vermelisiniz.:cool:
 
kusura bakmayın ya benimde kafam karıştı. Farklı sayfa olmasın. Data sayfasındaki bir sutunda blunan aynı tarihleri pratik yoldan nasıl silebilirim. F sutunda tarihler var. Ama ben F sutunu ile birlikte A, B, C, D, E, sutundaki verileride silmek isityorum. uğraştaracak bişi ise gerek yok. Teşekürler
 
Geri
Üst