Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Filter per VBA setzen

Filter per VBA setzen
24.06.2017 07:17:08
erichm
Hallo,
ich habe einen Code, mit dem ich einen Filter setze:
Sub E_Filter10()
ActiveSheet.Range("$A$1:$CA$5581").AutoFilter Field:=16, Criteria1:="
Jetzt möchte ich den Filter
Criterial:=" immer dadurch verändern dass ich in der aktivierten Tabelle in die Zelle C2 die entsprechende Zahl eingebe (also hier : in C2 steht 21).
Wie greift der Filter auf C2 zu?
Besten Dank für eine Hilfe!
mfg
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filter per VBA setzen
24.06.2017 07:20:41
Hajo_Zi

ActiveSheet.Range("$A$1:$CA$5581").AutoFilter Field:=16, Criteria1)="
Die anderen select brauchst du nicht da Du sie nicht siehst.
Warum select?


AW: Filter per VBA setzen
24.06.2017 07:29:28
erichm
Hallo Hajo,
danke für die schnelle Lösung - klappt perfekt!
Die Select-Zugriffe habe ich deswegen:
Ich habe die Tabelle per Zelle E6 "eingefroren". Wenn ich jetzt in der Tabelle weit unten bin und den Filter setze, dann werden die oberen Zeilen ab E6 nicht sofort angezeigt. Das möchte ich aber sicherstellen und deswegen diese Select-Zugriffe.
mfg
Anzeige
AW: Filter per VBA setzen
24.06.2017 07:31:12
Hajo_Zi
Application.Goto Reference:=Range("D40"), scroll:=True
Gruß Hajo
SUPER - Danke für die Verbesserung - mfg o.w.T.
24.06.2017 08:38:28
erichm
...
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Filter per VBA setzen in Excel


Schritt-für-Schritt-Anleitung

Um einen Filter in Excel mit VBA zu setzen, kannst du die folgende Schritt-für-Schritt-Anleitung verwenden:

  1. Öffne die Excel-Datei und wechsle ins VBA-Editor-Fenster (drücke ALT + F11).

  2. Erstelle ein neues Modul, indem du mit der rechten Maustaste auf "VBAProject (DeinDateiname)" klickst und "Einfügen" > "Modul" auswählst.

  3. Füge den folgenden VBA-Code in das Modul ein:

    Sub E_Filter10()
       ActiveSheet.Range("$A$1:$CA$5581").AutoFilter Field:=16, Criteria1:=Range("C2").Value
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Um den Filter zu aktivieren, gehe auf die Registerkarte "Entwicklertools" und klicke auf "Makros". Wähle E_Filter10 aus und klicke auf "Ausführen".

Dieser Code setzt den Filter für die 16. Spalte der angegebenen Range basierend auf dem Wert in Zelle C2.


Häufige Fehler und Lösungen

  • Fehler: "Anwendungs- oder objektdefinierter Fehler"

    • Lösung: Stelle sicher, dass die Range korrekt definiert ist und die Spalte mit dem Filter existiert.
  • Fehler: Der Filter wird nicht gesetzt

    • Lösung: Überprüfe, ob der Wert in C2 tatsächlich vorhanden ist und ob er zu den Daten in der 16. Spalte passt.

Alternative Methoden

Neben VBA kannst du auch die Filterfunktion direkt in Excel verwenden:

  1. Wähle die Zeile mit den Überschriften aus.
  2. Gehe zu "Daten" > "Filtern".
  3. Klicke auf den Dropdown-Pfeil in der Spalte, die du filtern möchtest, und wähle die gewünschten Kriterien aus.

Diese Methode ist ideal für Benutzer, die sich nicht mit VBA-Code beschäftigen möchten.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du den vba autofilter verwenden kannst:

  • Um mehrere Kriterien zu setzen:

    Sub E_Filter_MultipleCriteria()
       ActiveSheet.Range("$A$1:$CA$5581").AutoFilter Field:=16, Criteria1:="21", Operator:=xlOr, Criteria2:="22"
    End Sub
  • Um den Filter zu löschen:

    Sub E_Filter_Clear()
       ActiveSheet.AutoFilterMode = False
    End Sub

Diese Beispiele helfen dir, die Flexibilität von excel vba filter zu nutzen.


Tipps für Profis

  • Nutze Application.Goto um sicherzustellen, dass die Sicht auf die gefilterten Daten immer korrekt ist, z. B.:

    Application.Goto Reference:=Range("D40"), Scroll:=True
  • Vermeide unnötige Select-Befehle, um die Ausführungsgeschwindigkeit deines Codes zu verbessern.


FAQ: Häufige Fragen

1. Wie kann ich den Autofilter in VBA aktivieren?
Du kannst den Autofilter aktivieren, indem du den folgenden Code verwendest:

ActiveSheet.Range("$A$1:$CA$5581").AutoFilter

2. Kann ich mehrere Spalten gleichzeitig filtern?
Ja, du kannst mehrere Spalten filtern, indem du für jede Spalte einen eigenen AutoFilter-Befehl verwendest oder den Criteria1 und Criteria2 Parameter anpasst.

3. Was ist der Unterschied zwischen AutoFilter und Filter in VBA?
AutoFilter ist eine Methode, die es dir ermöglicht, Daten visuell zu filtern, während Filter eine Methode ist, die Daten in Arrays oder Sammlungen filtern kann.

Mit diesen Informationen solltest du in der Lage sein, excel vba autofilter effektiv zu nutzen und deine Daten in Excel zu filtern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige