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

Forumthread: Erweiterter Filter funktioniert nicht mit Makro

Erweiterter Filter funktioniert nicht mit Makro
25.05.2019 12:52:00
Oli
Hallo zusammen,
ich versuche seit geraumer Zeit ein Makro zu erstellen welches den Erweitertenfilter anwendet.
Ich möchte Daten in eine Übersicht eintragen und diese dann in einem anderen Arbeitsblatt, nach Datum geflitert, anzuzeigen.
Wenn ich den Filter anwende, funktioniert dies auch einwandfrei.
Erstelle ich dafür dann ein Makro, werden die Daten nicht mehr gefiltert übertragen sondern nur die Überschriften.
Das Makro sieht im VBA wie folgt aus.
Sub JanuarTest()
' JanuarTest Makro
' Tastenkombination: Strg+a
Sheets("Januar").Select
Range("A3").Select
Sheets("Übersicht").Range("A3:G25").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("I1:J2"), CopyToRange:=Range("A3"), Unique:=False
End Sub
Hier noch die Tabelle als Beispiel.
https://www.herber.de/bbs/user/130016.xlsm
Kann mir jmd. helfen und mir sagen wo mein Fehler liegt?
Vielen Dank vorab & ein schönes Wochenende
Grüße
Oli
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erweiterter Filter funktioniert nicht mit Makro
25.05.2019 14:29:25
Daniel
Hi
Das Problem ist, dass viele Excel-Aktionen, wenn sie von VBA ausgeführt werden, die Informationen in den amerikanischen Formaten erhalten müssen, insbesondere dann, wenn Texte in Zahlen oder Datumswerte gewandelt werden.
Dein Spezialfilter kann also, wenn er über VBA gestartet wird, den Text "<=01.31.2019" nicht als Datum erkennen sondern du musst das Datum im Amerikanischen Format angeben, dh MM/TT/JJJJ, bzw "<=01/31/2019"
oder du gibst im Filter den unformatierten Zahlenwert der Datumswerte an: ">=43466" und "<=43497"
dies kannst du einfach bekommen, wenn du das Datum in eine Zelle schreibst und in den Filter dann die Formel ="<="&L2
Gruß Daniel
Anzeige
AW: Erweiterter Filter funktioniert nicht mit Makro
27.05.2019 18:02:51
Oli
Hallo Daniel,
vielen Dank für deine Antwort.
Könntest du mir eventuell Zeigen, wie der VBA Cod auszusehen hat?
Ich hab das so probiert und leider keinen Erfolg damit gehabt.
Würde es für mein Vorhaben noch eine andere Lösung geben?
Grüße
Oli
AW: Erweiterter Filter funktioniert nicht mit Makro
31.05.2019 14:09:19
Daniel
Hi
der VBA-Code ändert sich dann nicht.
Gruß Daniel
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Erweiterter Filter in Excel mit VBA richtig anwenden


Schritt-für-Schritt-Anleitung

Um den erweiterten Filter in Excel mithilfe von VBA korrekt anzuwenden, befolge diese Schritte:

  1. Öffne das Visual Basic for Applications (VBA) Editor:

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

    • Klicke mit der rechten Maustaste auf VBAProject (DeinDateiname) und wähle Einfügen > Modul.
  3. Füge den Code für den erweiterten Filter ein:

    • Kopiere den folgenden VBA-Code in das Modul:
    Sub JanuarTest()
       ' JanuarTest Makro
       ' Tastenkombination: Strg+a
       Sheets("Januar").Select
       Range("A3").Select
       Sheets("Übersicht").Range("A3:G25").AdvancedFilter Action:=xlFilterCopy, _
       CriteriaRange:=Range("I1:J2"), CopyToRange:=Range("A3"), Unique:=False
    End Sub
  4. Überprüfe die Kriterien:

    • Achte darauf, dass die Kriterien im richtigen Format eingegeben sind. Wenn du Datumswerte verwendest, nutze das amerikanische Datumsformat (MM/TT/JJJJ) oder den unformatierten Zahlenwert.
  5. Führe das Makro aus:

    • Gehe zurück zu Excel, drücke Alt + F8, wähle JanuarTest und klicke auf Ausführen.

Häufige Fehler und Lösungen

  • Problem: Der erweiterte Filter funktioniert nicht mit Datumswerten.

    • Lösung: Stelle sicher, dass die Datumswerte im amerikanischen Format eingegeben sind. Nutze z.B. "<=" & Format(L2, "MM/DD/YYYY").
  • Problem: Nur die Überschriften werden übertragen.

    • Lösung: Überprüfe, ob die Daten im Kriterienbereich korrekt sind und die Datenquelle richtig ausgewählt ist.

Alternative Methoden

Wenn der erweiterte Filter nicht funktioniert, kannst du folgende alternative Methoden ausprobieren:

  • Einfache Filterfunktion: Nutze die integrierte Filterfunktion in Excel über das Menü Daten > Filtern, um Daten manuell zu filtern.

  • Power Query: Verwende Power Query für komplexere Datenabfragen und Filter, die eine benutzerfreundliche Oberfläche bietet.


Praktische Beispiele

  1. Beispiel für einen einfachen Filter:

    • Angenommen, du hast eine Tabelle mit Verkaufsdaten. Du kannst die Filterfunktion nutzen, um nur die Verkäufe eines bestimmten Monats anzuzeigen.
  2. Beispiel für einen erweiterten Filter:

    • Wenn du nur Datensätze mit einem Umsatz über 1000 und einem bestimmten Datum filtern möchtest, setze die Kriterien in einem separaten Bereich auf dem Arbeitsblatt.

Tipps für Profis

  • Automatisches Aktualisieren: Wenn du möchtest, dass der erweiterte Filter automatisch aktualisiert wird, kannst du das Makro so anpassen, dass es nach jeder Änderung auf dem Arbeitsblatt ausgeführt wird.

  • Verwendung von Variablen: Verwende VBA-Variablen, um dynamische Bereiche und Kriterien zu definieren, was die Wartbarkeit deines Codes verbessert.


FAQ: Häufige Fragen

1. Warum funktioniert der erweiterte Filter in Excel nicht?
Der erweiterte Filter funktioniert möglicherweise nicht, wenn die Kriterien im falschen Format angegeben sind oder die Datenquelle nicht korrekt definiert ist.

2. Wie kann ich den Filter in Excel automatisch aktualisieren?
Du kannst das Makro so anpassen, dass es beim Öffnen der Datei oder bei Änderungen im Datenbereich automatisch ausgeführt wird.

3. Was ist der Unterschied zwischen dem normalen Filter und dem erweiterten Filter in Excel?
Der normale Filter ist einfacher und eignet sich für grundlegende Filteraufgaben, während der erweiterte Filter komplexere Kriterien und mehrere Bedingungen unterstützt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige