Microsoft Excel

Herbers Excel/VBA-Archiv

makro autofilter läuft nicht! | Herbers Excel-Forum


Betrifft: makro autofilter läuft nicht! von: lisa
Geschrieben am: 05.01.2010 13:29:41

Hallo zusammen

Eín frohes und gesundes neues Jahr allen hier anwesenden!

Ich habe mal wieder, auch im neuen Jahr, ein Problem.

Mein Makro zum Autofilter läuft nicht!!!! :-(

Also der Filter wird zwar in der ersten Zeile gesetzt aber das Filterkriterium nicht gesetzt!

Range("1:1").AutoFilter Field:=11, Criteria1:="<>"

Es sollen alle nichtleeren in der Spalte K angezeigt werden! Das merkwürdige hierbei ist, dass ich auch nach dem durchlauf des Makro den Filter auch manuell nicht nutzen kann.

Wenn ich das Makro aufzeichne,
sieht er so aus:
Range("A1:O1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=11, Criteria1:="<>"

das Problem hierbei ist aber, das hier ab und an der Autofilter ab der zweiten Zeile gesetzt wird und das darf überhaupt nicht deswegen nun dieser Versuch:
Range("1:1").AutoFilter Field:=11, Criteria1:="<>", der aber auch nicht funktioniert!

Danke für jegliche Hilfe

  

Betrifft: Lade bitte eine Beispieldatei hoch von: NoNet
Geschrieben am: 05.01.2010 14:35:55

Hallo Lisa,

das Makro sollte in beiden Versionen funktionieren - vorausgesetzt die Liste enthält "echte" Leerzellen.
Lade doch bitte mal eine entsprechende Testdatei hoch - Danke.

Gruß, NoNet


  

Betrifft: AW: Lade bitte eine Beispieldatei hoch von: Daniel
Geschrieben am: 05.01.2010 15:43:17

Hi
hast du komplett durchgehende Leerzeilen oder Leerspalten innerhalb deiner Tabelle, die gefiltert werden soll?

wenn nein, dann sollte es reichen, für die Autofilteranweisung nur die linke obere Zelle anzugeben, weil Excel dann den bereich automatisch erweitert (geht aber nur, wenn keine komplett durchgehenden Leerzeilen oder Spalten innerhalb der Tabelle sind, weil diese die Grenze für den automatischen Autofilterbereich bilden)

Range("A1").AutoFilter Field:=11, Criteria1:="<>"
wenn ja, dann müsstest du in der Autofilteranweisung den kompletten Zellbereich angeben, auf den der Autofilter angewendet werden soll. In diesem Fall wird dann die Automatische Bereichserweiterung deaktiviert.
Range("A1:O1000").AutoFilter Field:=11, Criteria1:="<>"

wenn die exakte Grösse nicht bekannt ist und sich keine anderen Daten auf dem Tabellenblatt befinden, kann man auch die USEDRANGE verwenden:
ActiveSheet.UsedRange.AutoFilter Field:=11, Criteria1:="<>"
Gruß, Daniel


Beiträge aus den Excel-Beispielen zum Thema "makro autofilter läuft nicht!"