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

Forumthread: Einstellung Autofilter ändern mit VBA

Einstellung Autofilter ändern mit VBA
15.05.2007 13:10:14
Peter
Guten Tag
Ich will in einem Code die Änderung des Autofilters integrieren. Ich habe mir dies mit dem Recorder aufgezeichnet, was zu nachfolgendem Code geführt hat.
Selection.AutoFilter Field:=1
Selection.AutoFilter Field:=1, Criteria1:="="
Meine Frage: Wie muss der Code modifiziert werden, damit immer klar ist, welcher Filter gemeint ist. Im Moment habe ich in diesem Workbook nur einen solchen Filter, doch das könnte auch mal ändern.
Danke für eine Rückmeldung.
Peter

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Einstellung Autofilter ändern mit VBA
15.05.2007 18:58:00
Gerd
Hallo Peter,
ThisWorkbook.Worksheets("Tabelle3").Autofilter ...
Gruß Gerd

AW: Einstellung Autofilter ändern mit VBA
15.05.2007 20:44:00
Peter
Hallo Gerd
Vielen Dank!
Peter

AW: Einstellung Autofilter ändern mit VBA
15.05.2007 20:53:00
Peter
Hallo Gerd
Ich habe mich anscheinend zu früh gefreut.
mit
ThisWorkbook.Worksheets("Inventar").Autofilter Field:=1
erhalte ich die Fehlermeldung
Laufzeitfehler '448': Benanntes Argument nicht gefunden.
Dabei gibt es das Worksheet Inventar mit dem Autofilter.
Hat jemand eine Idee, was da noch fehlt?
Danke, Peter

Anzeige
AW: Einstellung Autofilter ändern mit VBA
15.05.2007 22:45:08
Gerd
Hi,
ja einen Bereich braucht er noch, z.B.

Sub test()
With ThisWorkbook.Worksheets("Inventar").Columns("A:F")
.AutoFilter Field:="1", Criteria1:="="
End With
End Sub


Gruß Gerd

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Autofilter in Excel mit VBA anpassen


Schritt-für-Schritt-Anleitung

Um den Autofilter in Excel mit VBA zu ändern, kannst du die folgenden Schritte befolgen:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Erstelle ein neues Modul:

    • Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)" und wähle Einfügen > Modul.
  3. Füge den VBA-Code ein:

    • Verwende den folgenden Code als Beispiel:
    Sub SetAutofilter()
       With ThisWorkbook.Worksheets("Tabelle3").Columns("A:F")
           .AutoFilter Field:=1, Criteria1:="="
       End With
    End Sub
  4. Ändere den Arbeitsblattnamen:

    • Ersetze "Tabelle3" durch den Namen deines Arbeitsblatts, z.B. "Inventar".
  5. Führe den Code aus:

    • Drücke F5, um den Code auszuführen und den Autofilter anzuwenden.

Häufige Fehler und Lösungen

Fehler 1: Laufzeitfehler '448'
Wenn du die Fehlermeldung "Laufzeitfehler '448': Benanntes Argument nicht gefunden" erhältst, könnte dies an einem fehlenden Bereich liegen. Stelle sicher, dass du den Filter korrekt auf einen definierten Bereich anwendest, wie im folgenden Beispiel:

Sub test()
   With ThisWorkbook.Worksheets("Inventar").Columns("A:F")
       .AutoFilter Field:=1, Criteria1:="="
   End With
End Sub

Fehler 2: Autofilter wird nicht angewendet
Wenn der Autofilter nicht funktioniert, überprüfe, ob du den richtigen Bereich und die richtigen Argumente verwendest. Stelle sicher, dass das Arbeitsblatt den Autofilter aktiviert hat.


Alternative Methoden

Neben der Verwendung von VBA kannst du auch die Excel-Benutzeroberfläche nutzen, um den Autofilter zu setzen. Gehe dazu auf die Registerkarte "Daten" und klicke auf "Filter", um die Filteroptionen zu aktivieren.

Eine weitere Möglichkeit ist die Nutzung von Excel-Formeln in Kombination mit VBA, um dynamische Filter zu setzen. Hierbei kannst du die AutoFilter-Funktion zusammen mit Variablen verwenden.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du den Autofilter in Excel mit VBA nutzen kannst:

  1. Einen spezifischen Wert filtern:

    Sub FilterSpecificValue()
       ThisWorkbook.Worksheets("Tabelle3").AutoFilter Field:=1, Criteria1:="Wert"
    End Sub
  2. Mehrere Kriterien setzen:

    Sub FilterMultipleCriteria()
       ThisWorkbook.Worksheets("Tabelle3").AutoFilter Field:=1, Criteria1:=Array("Wert1", "Wert2"), Operator:=xlFilterValues
    End Sub
  3. Autofilter zurücksetzen:

    Sub ResetAutofilter()
       ThisWorkbook.Worksheets("Tabelle3").AutoFilterMode = False
    End Sub

Tipps für Profis

  • Verwende AutoFilterMode: Überprüfe, ob der Autofilter aktiviert ist, bevor du Filter setzt. Das kann helfen, Fehler zu vermeiden.

  • Dynamische Bereiche: Setze den Autofilter auf dynamische Bereiche, indem du die UsedRange-Eigenschaft verwendest, um sicherzustellen, dass immer die korrekten Daten gefiltert werden.

  • Fehlermeldungen einfangen: Nutze On Error Resume Next, um Fehler zu vermeiden und die Ausführung deines Codes fortzusetzen.


FAQ: Häufige Fragen

1. Wie kann ich den Autofilter auf mehrere Spalten anwenden?
Du kannst mehrere Spalten filtern, indem du AutoFilter für jede Spalte aufrufst oder die Criteria1-Eigenschaft als Array übergibst.

2. Was mache ich, wenn der Autofilter nicht funktioniert?
Überprüfe, ob die Daten im richtigen Format vorliegen und ob der Autofilter auf den richtigen Bereich angewendet wird. Stelle sicher, dass das Arbeitsblatt nicht schreibgeschützt ist.

3. Wie kann ich den Autofilter in einer bestimmten Zeile zurücksetzen?
Verwende die Methode .AutoFilterMode = False, um alle Filter zurückzusetzen.

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