Herbers Excel-Forum - das Archiv

Formatprobleme bei Autofilter Kriterien

Bild

Betrifft: Formatprobleme bei Autofilter Kriterien
von: Ursula

Geschrieben am: 21.12.2006 11:35:36
Hallo,
ich versuche über eine Schleife im Code Autofilterkriterien zu setzen, also
For i = 1 To iMax
Worksheets(9).Range("A1").AutoFilter Field:=aKey(i),Criteria1:=aValue(i)
next i
Im Feld aKey sind die Spaltennummern gespeichert. Das Feld aValue enthält die Werte für Kriterien. Die Inhalte der Spalten können sehr unterschiedlich sein; auch Formatierungen sind möglich.
Das funktioniert so lange, wie die Spalten Text oder kleine Zahlen enthalten.
Sobald z.B. 200610165327962 in eine Zelle geschrieben wurde und sich die Darstellung auf 2.0061E+14 ändert, funktioniert das nicht mehr. Ferner funktioniert es nicht, wenn die Werte einer Spalte z.B. auf Datum formatiert sind. Sobald eingegebener Wert und Darstellung des Wertes in der Zelle nicht übereinstimmen, macht der Alorithmus Probleme.
Ich habe versucht, die Werte für aValue zu ermitteln, indem ich den Wert in eine Zelle schreibe, die analog der abzufragenden Spalte formatiert ist und dann die Text-Eigenschaft der Zelle verwende - aber ohne Erfolg.
Kann mir jemand sagen, wie ich die Werte für aValue ermitteln muß, damit es funktioniert?
Für jede Hilfe dankbar
Ursula
Bild

Betrifft: AW: Formatprobleme bei Autofilter Kriterien
von: ChrisL

Geschrieben am: 21.12.2006 18:50:58
Hallo Ursula
Ich glaube das lässt sich kaum ändern (Filter = String). Entweder suchst du nach einer Alternative zum Filter, erzwingst bestimmte Formate oder vereinheitlichst die Formate bevor der Filter aktiviert wird.
Läuft alles auf eine For...Next Schleife hinaus.
Betreffend Zahl gibt es noch das Problem, dass die Anzahl Stellen in VBA auf 15 beschränkt ist. Die Zahl als String verwendet dürfte hingegen funktionieren. Oder du greifst direkt auf die Zellen zu (wozu der Umweg über aValue).
Gruss
Chris
 Bild
Excel-Beispiele zum Thema "Formatprobleme bei Autofilter Kriterien"
Autofilter auch mit Ziffern von Zahlen Zellenwert als Autofilter-Kriterienwert
AutoFilter über mehrere Arbeitsblätter setzen Kopfzelle mit aktivem Autofilter markieren
Nur die sichtbaren Zellen eines AutoFilter-Bereiches einlesen Anzahl der durch Autofilter ermittelten Datensätze anzeigen
Autofilter-Kriterien über UserForm vorgeben Makroaufruf bei Betätigung des Autofilters
Autofilter-Kriterien nach dem Filtern anzeigen Kopfzeile einer Autofilter-Tabelle gelb hinterlegen