Microsoft Excel

Herbers Excel/VBA-Archiv

Autofilter per VBA field ersetzen durch Name

Betrifft: Autofilter per VBA field ersetzen durch Name von: Werner
Geschrieben am: 27.10.2014 15:20:06

Hallo Zusammen,

ich habe eine Tabelle die Autofilter nutzt.
Jetzt möchte ich gern mit Unterstützung von VBA (also über ein Button)
diesen Filter setzen.
Selection.AutoFilter Field:=11, Criteria1:="<>0-Plan", Operator:= _
xlAnd, Criteria2:="<>6-Erledigt"

Wenn ich in der Tabelle jetzt eine Spalte einfüge
dann ändert sich das "Field" nicht - es bleibt auf 11
und somit wird der Autofilter in der falschen Spalte gesetzt.

Jetzt war meine Idee, dass man der entsprechenden Spalte
einen "Namen" verpasst
und VBA diesen Namen nutzt
Wie muss man nun den Code ändern
Field:=11 ___ Field:="SpaltenName"

Geht so was ?
Freu mich auf einen Tip
Gruss
Werner

  

Betrifft: AW: Autofilter per VBA field ersetzen durch Name von: Daniel
Geschrieben am: 27.10.2014 17:04:06

Hi
unter der Voraussetzung dass dein gefilteter Bereich in Spalte A beginnt, so:

... .Autofilter Fiel:=Range("DeinName").Column, ...

Gruß Daniel


  

Betrifft: AW: Autofilter per VBA field ersetzen durch Name von: Werner
Geschrieben am: 27.10.2014 17:14:13

Hallo Daniel,

hab es wie folgt eingefügt
Selection.AutoFilter Field:=Range("Phase").Column, Criteria1:="<>0-Plan", Operator:= _
xlAnd, Criteria2:="<>6-Erledigt"

jetzt kommt die Fehlermeldung
Laufzeitfehler '1004'
Die Methode 'Range' für das Objekt '_Global' ist fehlgeschlagen.

Was hab ich falsch gemacht ?
Gruss
Werner


  

Betrifft: Sorry - alles "fine".. war ein Rechtschreibfehler von: Werner
Geschrieben am: 27.10.2014 17:17:42

Hallo Daniel
Danke Dir für den Tip
Funktioniert einwandfrei

daneben habe ich auch gelernt, dass die Field-Numerierung einfach chronologisch von 1 bis ...
festgelegt ist.

Danke und Gruss
Werner


 

Beiträge aus den Excel-Beispielen zum Thema "Autofilter per VBA field ersetzen durch Name"