Makro ile tarih filtrelemek

Katılım
4 Ağustos 2016
Mesajlar
19
Excel Vers. ve Dili
excel 2013
türkçe
Altın Üyelik Bitiş Tarihi
29-01-2020
Öncelikle herkese iyi günler

Forumda arama yaptım fakat istediğim şekilde bulamadığımdan başlık açmak zorunda kaldım.
Yükler ve taşıma operasyonları ile ilgili bir excel tablosu bulunmakta.
İçerisinde birçok bilgi barındırıyor ve makrolar vasıtasıyla filtreleme yapabiliyor ve nihai bir rapor ekranı oluşturabiliyoruz.

İsteğim makro ile bu rapor ekranında Tarih bazlı filtreleme yapmak.

Örneğin , kullanıcı filtrelemek için ayırdığımız hücreye istediği zaman birimini yazacak (>01.01.2018 veya <=01.02.2018 vb) ve makro alttaki listeden filtreleme gerçekleştirecek.

Örnek dosya ektedir.

Teşekkürler
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,992
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

Kod:
Sub Süz()
    On Error Resume Next
    ActiveSheet.ShowAllData
    On Error GoTo 0
    Tarih1 = CDate(Right(Range("C1").Value, 10))
    Tarih2 = CDate(Right(Range("G1").Value, 10))
    Parametre1 = Replace(Range("C1").Value, Tarih1, "")
    Parametre2 = Replace(Range("G1").Value, Tarih2, "")
    Range("A2:I" & Rows.Count).AutoFilter 8, Parametre1 & CLng(Tarih1)
    Range("A2:I" & Rows.Count).AutoFilter 9, Parametre2 & CLng(Tarih2)
End Sub
 
Katılım
4 Ağustos 2016
Mesajlar
19
Excel Vers. ve Dili
excel 2013
türkçe
Altın Üyelik Bitiş Tarihi
29-01-2020
Deneyiniz.

Kod:
Sub Süz()
    On Error Resume Next
    ActiveSheet.ShowAllData
    On Error GoTo 0
    Tarih1 = CDate(Right(Range("C1").Value, 10))
    Tarih2 = CDate(Right(Range("G1").Value, 10))
    Parametre1 = Replace(Range("C1").Value, Tarih1, "")
    Parametre2 = Replace(Range("G1").Value, Tarih2, "")
    Range("A2:I" & Rows.Count).AutoFilter 8, Parametre1 & CLng(Tarih1)
    Range("A2:I" & Rows.Count).AutoFilter 9, Parametre2 & CLng(Tarih2)
End Sub
Korhan Bey,

Bir türlü çalıştıramadım.
-Hücrede olan bir değeri aramasını istedim (21.1.2017) boş ekran (sıfır filtre) yapıyor.
-İki tarihten ikisini de yazmanızı istiyor. Yazdığın vakitte boş ekran (sıfır filtre) yapıyor.
-Öncesi, sonrası ibarelerini (>,<,= vb.) yazdığınızda Debug çıkıyor.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,992
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Kullandığınız tarih formatı 21.1.2017 ise 10 değerlerini 9 olarak güncelleyip deneyiniz.

Ya da kodda değişiklik yapmadan denetim masasından tarih görünüm ayarınızı "gg.aa.yyyy" olarak değiştirip deneyiniz.
 
Katılım
4 Ağustos 2016
Mesajlar
19
Excel Vers. ve Dili
excel 2013
türkçe
Altın Üyelik Bitiş Tarihi
29-01-2020
Kodda değişiklik yaptım ve tarih görünüm ayarım zaten gg.aa.yyyy olarak.
Değişen bir şey olmadı Korhan Bey
 
Katılım
27 Mayıs 2012
Mesajlar
28
Excel Vers. ve Dili
Office 2016 - ENG
Altın Üyelik Bitiş Tarihi
23.12.2020
Belki soyle birsey isinize yarar, bunu kullaniyorum ben bikac duzenleme yapmaniz gerekecek ama kendi durumunuza gore gore uyarlamak icin.


Kod:
Dim Tarih1 As String
With Activesheet
    On Error Resume Next
    grsap.ShowAllData
    On Error GoTo 0
    Tarih1 = "tarih bilgisi yada bilgiyi iceren referans"

grsap.Range("A:J").AutoFilter Field:=10, Criteria1:="<=" & CLng(CDate(Tarih1))
'Field:=(kacinci kolon oldugu)',
End With
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,992
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Uyguladığınız dosyanızın ekran görüntüsünü ekleyebilir misiniz?
 
Üst