Tablo Süzme sorunu

Katılım
7 Kasım 2005
Mesajlar
192
Excel Vers. ve Dili
excel2003
Arkadaşlar ekli dosyadaki tabloda (I) sütununda bulunan tarihleri C1 ve C2 deki tarih aralığını süzdürmek istiyorum,birtürlü yapamadım.
Selamlar
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Süz yaptığınızda iki tarih arasını el ile girmeniz gerekir. Hücre adresi olmaz.

Saygılarımla
 
Katılım
7 Kasım 2005
Mesajlar
192
Excel Vers. ve Dili
excel2003
Evet süzülecek tarih aralığını C1 ve C2 hücresine el ile gireceğim,süzme işlemi makro ile olması gerekiyor.
 
Katılım
2 Ekim 2005
Mesajlar
104
Excel Vers. ve Dili
Excell 2003
Böyle bir çözüm buldum ama bilmem işine yararmı?Fakat makro yok sadece formüller.
 
Katılım
7 Kasım 2005
Mesajlar
192
Excel Vers. ve Dili
excel2003
Valla tablonun şeklinin bozulmaması öncelikli idi,çünkü sizin doğru/yanlış sütununda başka veriler olacaktı,ayrıca butona bağlanmış bir makro ile tablo bozulmadan sadece süzülen verilerin gösterilmesi daha çok işime yarardı,yinede katkılarınızdan dolayı teşekkür ederim.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu sayfa1 de bir butona bağlayarak çalıştırın. Süzülen veriler sayfa2 de listelenecektir.

[vb:1:a1470322fd]Sub verisuz()
Sheets("sayfa2").[a2:j65536].ClearContents
For a = 5 To [j65536].End(3).Row
If Cells(a, "i") >= [c1] And Cells(a, "i") <= [c2] Then
c = c + 1
For b = 2 To 10
Sheets("sayfa2").Cells(c + 1, b - 1) = Cells(a, b)
Next
End If
Next
Sheets("sayfa2").Select
MsgBox "İÞLEM TAMAMLANDI"
End Sub
[/vb:1:a1470322fd]
 
Katılım
7 Kasım 2005
Mesajlar
192
Excel Vers. ve Dili
excel2003
Sayın Leventm yazdığınız kodu sayfa 1 de bir butona bağladım fakat,
Type mismatch hatası verdi.
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Dosyanıza Sn.Leventm'in kodlarına bir ilave ile ektedir.
 
Katılım
7 Kasım 2005
Mesajlar
192
Excel Vers. ve Dili
excel2003
Malesef yine çalışmadı If celss ile başlayan satırda hata veriyor
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Dosyanızda iken ALT+F11 tuşuna aynı anda basarak "Visiual Basic Editor"e ulaşırsınız. Buradan "Tools" menüsünden "References"seçeneğini tıklarsanız daha önce şeklini gösterdiğim tabloyu görürüsünüz. Belki çözümü orada bulursunuz.
 
Katılım
6 Şubat 2005
Mesajlar
1,467
arkadaşlar
otufan03'ün sorusu üzerinde uğraşım sırasında, makro kaydederken otomatik süzme işleminde 08.01.2005 tarihini seçince aşağıdaki kodu üretti.

Selection.AutoFilter Field:=8, Criteria1:="08.01.2005"
veya
Selection.AutoFilter Field:=8, Criteria1:=">08.01.2005", Operator:=xlAnd

Bu kodları çalıştırmaya kalkınca sanki listede bulunmayan bir değermiş gibi davranıp tüm kayıtları gizliyor.

Biraz uğraşınca C2 hücresindeki tarihe eşit olanları aşağıdaki kodlarla süzdürünce, süzme işlemini yaptı.

tarih = Range("C2")
Selection.AutoFilter Field:=8, Criteria1:=tarih, Operator:=xlAnd

Sorum şu sadece eşit olan değerleri değilde C2 hücresindeki tarihten büyük olanları getirtmeye çalışınca, örneğin
Criteria1:=< & tarih veya Criteria1:= "<" & tarih gibi
yine tüm kayıtları gizliyor.
Yokmu bunun çaresi....
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bunun sebebi Excelin Criteria1:= "<" & tarih yazımını metin olarak algılamasından kaynaklanmaktadır. Çünkü excel tarihleri sayıya çevirerek değerlendirir. B u sebeple aşağıdaki gibi denemenizi öneririm.

Criteria1:= "<" & clng(tarih )
 
Katılım
7 Kasım 2005
Mesajlar
192
Excel Vers. ve Dili
excel2003
Tam da Sayın Leventm bu işe el atarsa çözülür mesajını atmak için bu sabah foruma girdiğimde onun mesajını gördüm, inşallah sorun çözülür.
 
Katılım
6 Şubat 2005
Mesajlar
1,467
kusura bakmayın C1 hücresini F sütununa C2 hücresini I sütununa göre süzdürmüşüm.
aşağıdaki kodları kullanınız.
bastarih = Range("C1")
sontarih = Range("C2")
Selection.AutoFilter Field:=8, Criteria1:=">=" & CLng(bastarih), Operator:=xlAnd _
, Criteria2:="<=" & CLng(sontarih)
 
Katılım
7 Kasım 2005
Mesajlar
192
Excel Vers. ve Dili
excel2003
Fakat sizin son örnek te çalışmadı mesela 01.01.2005 ile 21.01.2005 arasını süzmüyor,boş çıkıyor
 
Üst