2016-11-26 4 views
0

Ich brauche Hilfe zwischen zwei Daten zu filtern und es gibt mir eine Fehlermeldung:Filtering zwischen zwei Daten in Excel-VBA

Named argument not found

meinen Code

Dim StartDate As String 
Dim EndDate As String 
' 
StartDate = Date 
EndDate = Date + 365 
' 
ActiveSheet.AutoFilter Field:=7, Criteria1:=">=StartDate", Operator:=xlAnd, Criteria2:="<=EndDate" 

Jede Hilfe wäre sehr willkommen!

+0

Der Fehler wurde ermittelt, aber jetzt werden alle Daten herausgefiltert, da das aktuelle Datum nicht im Datenbereich liegt. Irgendwelche Gedanken zur Korrektur dieses Fehlers? – PrivateResearch

+0

Bitte aktualisieren Sie Ihren Beitrag mit Code ohne den Fehler gefunden und weitere Details über die zu filternden Daten (welche Zellen sind sie, und dergleichen) – user3598756

+0

Siehe unten: – PrivateResearch

Antwort

0

wenn Ihre Reisedaten sind tatsächlich Date Werte (das heißt nicht String diejenigen wie Daten suchen), dann so:

Dim StartDate As Date 
Dim EndDate As Date 
StartDate = Date 
EndDate = Date + 365 
ActiveSheet.Range("A1:AO1").AutoFilter Field:=7, Criteria1:=">=" & CDbl(StartDate), Operator:=xlAnd, Criteria2:="<=" & CDbl(EndDate) 
+0

es filtert immer noch alle Daten aus. – PrivateResearch

+0

basierend auf Ihrem Feedback, aber ich habe mir die Formatierung angesehen und es wird als "21.10.2016 12:12:26 PM" angezeigt. Könnte das etwas mit dem Problem zu tun haben? – PrivateResearch

+0

** mein Code ** Dim StartDate als String Dim EndDate als String StartDate = Datum EndDate = Datum + 365 ActiveSheet.Range ("A1: AO1"). AutoFilter Feld: = 7, Criteria1: = "<= StartDate", Operator : = xlAnd, Criteria2: = "<= EndDate – PrivateResearch

0

Grundlegende Logik war das Problem ... Verwechslung der Start- und Enddatumslogik (sollte EndDate = Date und StartDate = Date - 365 sein).

Entschuldigung für die Probleme!