• DİKKAT

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

Makro ile tarih filtrelemek

  • Konbuyu başlatan Konbuyu başlatan methura
  • Başlangıç tarihi Başlangıç tarihi
Katılım
4 Ağustos 2016
Mesajlar
19
Excel Vers. ve Dili
excel 2013
türkçe
Ö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

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
 
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.
 
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.
 
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
 
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
 
Uyguladığınız dosyanızın ekran görüntüsünü ekleyebilir misiniz?
 
Geri
Üst