ich habe eine Liste mit Autofilter.
Ich habe eine Prozedur geschrieben wo immer nach dem Begriff gefiltert wird auf den ich gerade Doppelclicke.
Meine Tabelle enthält ganz unterschiedliche Daten. Datumswerte, Texte, und Zahlen.
Das Filtern klappt wunderbar bis auf die Spalten in denen Zahlen stehen. Mir ist bekannt, dass es bei Datumswerten und Zahlen zu Problemen mit dem Filtern via VBA kommt.
Mein Problem ist, dass ich nicht für jede Spalte einen gesonderten Code haben möchte, sondern dass einer reicht.
If Spalte = 2 Then
[a1].AutoFilter Field:=2, Criteria1:=">=" & Month(Datum) & "/" & Day(Datum) & "/" & Year(Datum), Operator:=xlAnd _
, Criteria2:=" Else
With Range("a1")
If Filterkriterium "" Then
.AutoFilter Field:=Spalte, Criteria1:=Filterkriterium
Else
FilterkriteriumZahl = Application.Substitute(FilterkriteriumZahl, ",", ".")
End If
End With
End If
Bei Texten und Datumswerten klappt es immer. Mit Substitue klappt es nur dann, wenn am Ende des Zahlenwertes keine "0" steht. Also nach 5,37 kann ich filtern, nach 5,30 nicht und nach 5,00 auch nicht.
Die Spalten haben das Zahlenformat 0,00 und Filterkriterium UND FilterkriteriumZahl sind als String defniert. Als Double geht es bei der Zahl leider auch nicht.
Wie macht man es richtig?
Liebe Grüße Georg