Filter basierend auf Eingabefelddaten funktioniert nicht

0

Ich möchte Start- und Enddatum eingeben und habe VBA, um Dateneinträge in einer Excel-Tabelle zwischen den ausgewählten Daten zu filtern. Dieser Code gibt jedoch null gefilterte Einträge zurück. Wenn ich den Filter in Excel manuell gehe, stelle ich fest, dass er korrekt konfiguriert ist (Datumsangaben in den Filterkriterienfeldern). Wenn ich dann auf die Schaltfläche OK klicke, wird alles gut gefiltert. Irgendeine Idee, welchen Fehler ich gemacht habe?

Ps. Nehmen Sie an, dass die Eingabefeldwerte korrekt formatierte Daten sind

Option Explicit

Sub ExpCsmLg()

' ExpCsmLg Makro
' this makro filters all data entries between two selected dates

Dim sdt As Date
Dim edt As Date

'sdt = InputBox("Choose Start date.")

'edt = InputBox("Choose End date.")


    ActiveSheet.Range("$A$5:$Q$7992").AutoFilter Field:=1, Criteria1:=">=" & sdt, Operator:=xlAnd, Criteria2:="<=" & edt


End Sub
Jakub
quelle

Antworten:

0

Das scheint für mich zu funktionieren:

Option Explicit

Sub ExpCsmLg()

' ExpCsmLg Makro
' this makro filters all data entries between two selected dates

Dim sdt As Date
Dim edt As Date

sdt = CDate(Application.InputBox("Choose Start date.", Type:=2))

edt = CDate(Application.InputBox("Choose End date.", Type:=2))


    ActiveSheet.Range("$A$5:$Q$7992").AutoFilter Field:=1, Criteria1:=">=" & sdt, Operator:=xlAnd, Criteria2:="<=" & edt


End Sub

Vor:

enter image description here

und danach:

enter image description here

HINWEIS:

Die Elemente in der Spalte EIN sind echte Daten und keine Textwerte.

Gary's Student
quelle