ich gehe wie folgt vor:
For Each xkey In dic
If strDatenwerte "" Then
' strDatenwerte = strDatenwerte & ";" & CLng(CDate(xkey))
die Alternativen (gehen auch nicht)
strDatenwerte = strDatenwerte & ";" & Format(CDate(xkey). "m/d/yyyy") und
strDatenwerte = strDatenwerte & ";" & Format(CDate(xkey). "mm/dd/yyyy")
Else
strDatenwerte = CLng(CDate(xkey))
die Alternativen (gehen auch nicht)
strDatenwerte = Format(CDate(xkey). "m/d/yyyy") und
strDatenwerte = Format(CDate(xkey). "mm/dd/yyyy")
End If
Next xkey
arrParameter = Split(strDatenwerte, ";")
ws.Range(spBuchstabe(CInt(intersteSpalte)) & lngersteZeile - 1 & ":" & spBuchstabe(CInt(intletzteSpalte)) & lngletzteZeile).AutoFilter Field:=2, Criteria1:=Array(arrParameter), Operator:=xlFilterValues
Diese Variante funktioniert nicht, obwohl die Daten vorhanden sind.
Das verrückte ist nun: Übergebe ich zunächst alles an ein Array oder einer einzelnen Variablen wie nachfolgend ausgeführt, dann funktioniert der Autofilter (die Füllung des Datenfeldes habe ich an dieser Stelle nicht niedergeshrieben).
ws.Range(spBuchstabe(CInt(intersteSpalte)) & lngersteZeile - 1 & ":" & spBuchstabe(CInt(intletzteSpalte)) & lngletzteZeile).AutoFilter Field:=2, Criteria1:=">=" & CLng(CDate(arrDaten(LBound(arrDaten)))), Operator:=xlAnd, Criteria2:=" Daher nun meine Frage: Warum funktioniert die erste Variante nicht, jedoch die zweite Variante?
Die zweite Variante scheidet als Alternative aus, weil nicht immer alle Daten zwischen dem kleinsten und größten Datum selektiert werden.
Ich hoffe, dass mir jemand bei diesem Problem behilflich sein kann, weil ich nicht verstehen kann warum der Autofilter bei gewöhnlichen Werten problemlos funktioniert, jedoch bei einem Datum solche Probleme macht. Ich verwende MS Excel 2007.