Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Autofilter in VBA verschluckt Zeilen?!?

Betrifft: Autofilter in VBA verschluckt Zeilen?!? von: Glenn
Geschrieben am: 31.08.2004 16:46:05

Hallo an alle,

ich versuche gerade die Arbeit mit dem Autofilter zu vereinfachen.
Das Problem: Wenn ich ein vorhandenes Filterkriterium auslese ( > 1,59 ) und es nach dem Löschen der AutoFilter wieder zurückschreibe, wird keine Zelle angezeigt. Klicke ich dann manuell auf (Benutzerdefiniert...) ist mein Filterkriterium schon eingetragen. OK-Klick und es ist wieder richtig gefiltert. ???
Problem scheint nur bei Zahlen aufzutreten, denn Filtere ich nach Text funktioniert alles.

Ich hoffe irgendjemand weiß eine Lösung!!!

Danke im Voraus
der glenn

  


Betrifft: Mitnichten... von: Boris
Geschrieben am: 31.08.2004 16:54:31

Hi Glenn,

ohne es jetzt getestet zu haben:
In dem Moment, wo du den Filter per VBA steuerst, spricht das Programm Englisch. Und im Englischen ist das Dezimalzeichen nicht das Komma sondern der Punkt.
Also: Kriterium >1.59

Grüße Boris


  


Betrifft: AW: Mitnichten... von: Glenn
Geschrieben am: 31.08.2004 17:04:53

... und schon wieder bin ich auf diese Komma-Punkt-Geschichte reingefallen.
(Hmm...
jetzt muß ich VBA nur noch beibringen zwischen Zahlen und Text zu unterscheiden, um dann das Komma in einen Punkt zu verwandeln.
Mal sehen...)

Riesendank erstmal
der glenn


  


Betrifft: Verstehe nicht ganz... von: Boris
Geschrieben am: 31.08.2004 17:13:13

Hi Glenn,

jetzt muß ich VBA nur noch beibringen zwischen Zahlen und Text zu unterscheiden

Was willst du VBA denn da beibringen?

Grüße Boris


  


Betrifft: AW: Verstehe nicht ganz... von: Glenn
Geschrieben am: 31.08.2004 17:47:27

Hallo Boris,

kann sein, dass es wieder total einfach zu lösen ist. ;-)
Also die ganze Geschichte ist, dass ich vorhande Filterkriterien auslesen muß - diese können als Text oder eben >, = , usw. plus eine Zahl mit Komma vorliegen - und in einem anderen Sheet wieder als Autofilter anzuwenden habe. Da aber VBA numerische Filterkriterien mit Komma als String ausliest und eine englische Punktschreibweise bräuchte, muß ich unterscheiden können, wann es " , " zu " . " tauschen soll. Tauscht er " , " zu " . " in einem Textkriterium stimmt dieses ja net mehr überein und er findet nix.
Hängt einfach damit zusammen, dass die Spaltenanzahl auf 256 limitiert ist und meine Daten zu 50 Spalten aus Filterkriterien und ca. 250 Spalten aus Zahlenreihen bestehen. Durch AutoFilter lassen sich die gefilterten Zeilen mit "TEILERGEBNISS" hervorragend analysieren. Die ganze Datei ist darauf aufgebaut.
Die Zahlenreihen sind jetzt nur einfach zulang geworden. Daher sollen die Spalten mit einem Filter (max. 3-5 Kriterien gleichzeitig pro Analyse) ins Sheet2 vor die Zahlenreihen kopiert und erneut gefiltert werden.

Tja, wär's komfortabel haben will, muß halt leiden... ;-)

Beste Grüße
der glenn


  


Betrifft: Autofilterkriterium: Zahl oder Text von: Boris
Geschrieben am: 31.08.2004 18:10:00

Hi Glenn,

mal so als Ansatz - überprüfen des Criteria1 aus Filter 1 auf Zahl oder Text:

Option Explicit

Sub test()
Dim af As AutoFilter, varTemp As Variant
Set af = ActiveSheet.AutoFilter
With WorksheetFunction
    varTemp = af.Filters(1).Criteria1
    varTemp = .Substitute(.Substitute(.Substitute(.Substitute(varTemp, "<", ""), ">", ""), "=", ""), "*", "")
End With
MsgBox IsNumeric(varTemp)
End Sub


Muss man sicherlich noch verfeinern.

Grüße Boris


 

Beiträge aus den Excel-Beispielen zum Thema "Autofilter in VBA verschluckt Zeilen?!?"