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

Forumthread: Laufzeitfehler '1004': Autofilter

Laufzeitfehler '1004': Autofilter
19.08.2016 09:49:00
Leonida
Hallo liebe Leser,
ich habe eine Excel-Tabelle bei der in Spalte K Daten mit dem Sverweis aus einem anderen Tabellenblatt übernommen wurden. Durch den Sverweis steht allerdings in Zellen, die in der Quelltabelle leer waren, das Datum "00.01.1900" (also 0 im Datumsformat). Die Werte wurden mithilfe von "Inhalte einfügen" in die gleiche Spalte kopiert, damit beim Autofilter durch die Formel keine Fehler entstehen. Durch den Code sollen die Zellen gefiltert werden, die das Datum "00.01.1900" enthalten und danach der Inhalt dieser Zellen gelöscht werden.

Sub Filter()
Rows("1:1").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$F$1025").AutoFilter Field:=11, Operator:= _
xlFilterValues, Criteria2:=Array(0, "01/00/1900")
Range(Rows.Count, 11).Select
Selection.ClearContents
End Sub

Leider wird mir direkt beim Ausführen angezeigt "Laufzeitfehler '1004': Die Autofiltermethode des Range-Objekts konnte nicht durchgeführt werden." Der Filtermodus ist dann zwar aktiviert, allerdings schafft es der Code nicht, dieses Datum zu filtern.
Hat evtl. jemand eine Idee, woran das liegen könnte?
Ich freue mich über jede Hilfe!
Grüße
Leonida
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler '1004': Autofilter
19.08.2016 09:58:34
Luschi
Hallo Leonida,
1. Fehler:
Du willst die 11. Spalte im Filterbereich filtern, obwohl dieser Bereich nur 6 Spalten hat (A:F)
Gruß von Luschi
aus klein-Paris
AW: Laufzeitfehler '1004': Autofilter
19.08.2016 11:34:41
Leonida
Oh man, wie peinlich :D
Das hätte mir in der Tat auffallen müssen. Manchmal hat man einfach ein Brett vor dem Kopf :D
Vielen Dank !
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Laufzeitfehler '1004' beim Autofilter in Excel beheben


Schritt-für-Schritt-Anleitung

  1. Öffne die Excel-Datei, in der Du den Autofilter anwenden möchtest.
  2. Stelle sicher, dass der Autofilter auf dem Arbeitsblatt aktiviert ist. Du kannst dies tun, indem Du auf die Registerkarte „Daten“ und dann auf „Filter“ klickst.
  3. Überprüfe den Bereich, den Du filtern möchtest. In diesem Beispiel ist es wichtig, dass der Filterbereich die richtige Anzahl an Spalten hat.
  4. Kopiere den folgenden VBA-Code in ein neues Modul:
Sub Filter()
    Rows("1:1").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$F$1025").AutoFilter Field:=11, Operator:= _
    xlFilterValues, Criteria2:=Array(0, "01/00/1900")
    Range(Rows.Count, 11).Select
    Selection.ClearContents
End Sub
  1. Achte darauf, dass Du die richtige Spalte für den Filter auswählst. In diesem Beispiel sollte die Spalte in Field:=11 auf die tatsächliche Spaltennummer im Bereich angepasst werden.
  2. Führe den Code aus, um den Filter anzuwenden und die unerwünschten Daten zu entfernen.

Häufige Fehler und Lösungen

  • Laufzeitfehler '1004': Dieser Fehler tritt auf, wenn Du versuchst, eine Spalte zu filtern, die nicht im angegebenen Bereich enthalten ist. Überprüfe den Bereich und stelle sicher, dass die Spaltennummer korrekt ist. In unserem Fall sollte Field:=11 nicht verwendet werden, wenn der Bereich nur bis zur Spalte F (6 Spalten) reicht.

Alternative Methoden

Falls Du den Fehler weiterhin erhältst, kannst Du alternative Methoden ausprobieren:

  1. Manuelles Filtern: Anstatt VBA zu verwenden, kannst Du das Filterfeature manuell über die Excel-Oberfläche nutzen.
  2. Verwendung von Formeln: Statt den Autofilter zu verwenden, kannst Du auch eine Hilfsspalte erstellen, die die Daten aufbereitet und dann filtern.

Praktische Beispiele

Angenommen, Du hast eine Tabelle mit Bestellungen und möchtest alle Datensätze mit dem Datum „00.01.1900“ filtern:

Sub BeispielFilter()
    ActiveSheet.Range("A1:F1025").AutoFilter Field:=11, Criteria1:="00.01.1900"
End Sub

Dieser Code filtert die Daten in der 11. Spalte (achte darauf, dass die Spaltennummer korrekt ist) und zeigt nur die Zeilen mit dem Datum an.


Tipps für Profis

  • Verwende Option Explicit: Dies zwingt Dich, alle Variablen zu deklarieren und kann helfen, Fehler zu vermeiden.
  • Fehlerbehandlung einfügen: Füge On Error Resume Next hinzu, um Laufzeitfehler abzufangen und geeignete Maßnahmen zu ergreifen.
  • Testen in einer Kopie: Teste Deinen Code immer in einer Kopie Deiner Excel-Datei, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Was bedeutet Laufzeitfehler '1004'?
Laufzeitfehler '1004' zeigt an, dass ein Problem beim Ausführen einer Methode oder eines Befehls in VBA aufgetreten ist. In diesem Fall kann es an einem falschen Bereich oder einer ungültigen Spaltennummer liegen.

2. Wie kann ich den Autofilter ohne VBA verwenden?
Du kannst den Autofilter über die Excel-Oberfläche aktivieren, indem Du auf die Registerkarte „Daten“ gehst und „Filter“ auswählst. Dann kannst Du die gewünschten Filter direkt anwenden.

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