Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Autofilter über Makro funktioniert nicht mehr

Autofilter über Makro funktioniert nicht mehr
23.01.2009 15:01:21
Ramon
Hallo Excel-Freunde,
ich habe ein ganz komisches Problem:
Wenn ich im Makro die Autofilter-Funktion einbinde, wird beim ausführen des entsprechenden
Makros in dem Modul der Begriff "Autofilter" gelb markiert, mit der Fehlermeldung:
"Fehler beim kompilieren:
Methode oder Datenobjekt nicht gefunden!"
Selbst mit dem Makrorekorder funktioniert es nicht mehr. Ich kann das Makro zwar aufzeichnen,
aber wenn ich es hinterher ausführe, bricht VBA mit oben genanntem Fehler ab.
Der Code sieht wie folgt aus (im Standardmodul):

Sub test()
Selection.AutoFilter Field:=3, Criteria1:="Kaiser"
End Sub


Der Autofilter ist auf die Zellen A8 - H8 gesetzt und es soll nun per Makro in Spalte C der Name "Kaiser"
gefiltert werden. Sonst ging das auchh immer problemlos.
Hat jemand eine Idee?
Danke, Gruß,
Ramon

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofilter über Makro funktioniert nicht mehr
23.01.2009 15:04:13
Ramses
Hallo
"Selection" heisst das Zauberwort.
Damit greift EXCEL auf die AKTIVE Zelle zu.
Wenn dort keine Datenbank erkannt werden kann oder nicht aktiv ist, dann haut das nicht :-)
Prüf also mal, WELCHE Zelle gerade markiert ist, oder schreib an den Anfang des Codes:
Range("A8").Select
Gruss Rainer
Anzeige
AW: Autofilter über Makro funktioniert nicht mehr
23.01.2009 15:17:00
Ramon
Oh nein, . . . .
das war's. Wie blöd von mir! Danke Dir, nun geht's . . .
Gruß,
Ramon

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Autofilter in Excel über Makros korrekt nutzen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und stelle sicher, dass du eine Tabelle mit Daten hast, die gefiltert werden sollen.

  2. Aktiviere den Autofilter: Wähle die erste Zeile deiner Daten aus (z.B. A8:H8) und gehe zu "Daten" > "Filter" > "Autofilter".

  3. Erstelle dein Makro:

    • Öffne den VBA-Editor mit ALT + F11.
    • Füge ein neues Modul hinzu und schreibe folgenden Code:
    Sub test()
       Range("A8").Select
       Selection.AutoFilter Field:=3, Criteria1:="Kaiser"
    End Sub
  4. Führe das Makro aus: Gehe zurück zu Excel und drücke ALT + F8, wähle dein Makro aus und klicke auf "Ausführen".


Häufige Fehler und Lösungen

  • Fehler: "Fehler beim Kompilieren: Methode oder Datenobjekt nicht gefunden!"

    • Lösung: Überprüfe, ob die Auswahl korrekt ist. Stelle sicher, dass du den Autofilter für den richtigen Bereich aktiviert hast. Es kann hilfreich sein, die erste Zeile der Daten explizit auszuwählen (z.B. Range("A8").Select).
  • Fehler: Excel filtert nicht richtig

    • Lösung: Stelle sicher, dass du die richtige Spalte angibst und dass die Daten in dieser Spalte vorhanden sind.

Alternative Methoden

  • Verwendung von Tabellen: Konvertiere deine Daten in eine Excel-Tabelle (STRG + T). Die Filterfunktion funktioniert in Tabellen oft zuverlässiger.
  • Direkte Filteranwendung im VBA: Anstatt Selection.AutoFilter zu verwenden, kannst du den Filter direkt auf einen spezifischen Bereich anwenden:

    Sub test()
       ActiveSheet.ListObjects("Tabelle1").Range.AutoFilter Field:=3, Criteria1:="Kaiser"
    End Sub

Praktische Beispiele

  1. Filtern von Datumswerten:

    • Um einen Datumsfilter zu setzen, kannst du folgendes verwenden:
    Sub datumsfilter()
       Range("A8:H100").AutoFilter Field:=2, Criteria1:=">=01.01.2023", Operator:=xlAnd, Criteria2:="<=31.12.2023"
    End Sub
  2. Mehrere Kriterien:

    • Um mehrere Kriterien zu filtern, kannst du den Criteria1 Parameter anpassen:
    Sub mehrfachfilter()
       Range("A8:H100").AutoFilter Field:=3, Criteria1:=Array("Kaiser", "Müller"), Operator:=xlFilterValues
    End Sub

Tipps für Profis

  • Verwende Option Explicit: Füge dies am Anfang deines Moduls hinzu, um sicherzustellen, dass alle Variablen deklariert werden. Dies kann helfen, Fehler zu vermeiden.
  • Fehlerbehandlung: Implementiere On Error Resume Next und On Error GoTo 0, um Fehler im Makro elegant zu handhaben.
  • Makros optimieren: Reduziere die Bildschirmaktualisierung während der Ausführung deines Makros mit Application.ScreenUpdating = False und setze es am Ende wieder auf True.

FAQ: Häufige Fragen

1. Warum funktioniert mein Excel Autofilter nicht? Manchmal kann es sein, dass das Datenformat nicht korrekt ist oder der Autofilter nicht richtig aktiviert wurde. Überprüfe deine Einstellungen und die Datenformate.

2. Wie kann ich sicherstellen, dass meine Makros funktionieren? Stelle sicher, dass Makros in deinen Excel-Einstellungen aktiviert sind. Gehe zu "Datei" > "Optionen" > "Trust Center" > "Einstellungen für das Trust Center" und aktiviere Makros.

3. Was tun, wenn Excel beim Filtern abstürzt? Versuche, Excel im abgesicherten Modus zu starten oder überprüfe, ob es Updates für Excel gibt. Manchmal können auch Add-Ins Probleme verursachen, die du vorübergehend deaktivieren kannst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige