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

Forumthread: Automatisch beim Öffnen der Datei filtern

Automatisch beim Öffnen der Datei filtern
06.02.2019 11:20:00
alex_de_souza
Hallo,
ist es möglich, mittels VBA Code folgendes zu erzielen:
Ich möchte, dass alle Zeilen, die ein #NV in Spalte C(von Tabellenblatt Tabelle1) enthalten automatisch ausgeblendet werden. Wenn das #NV später zu einem Wert wird, soll die Zeile wieder automatisch angezeigt werden.
In der Spalte C sind übrigens Formeln eingetragen, die sich auf ein anderes Tabellenblatt beziehen und sich je nach dem, was sich dort ändert, #NV oder einen Wert ausgeben können.
Kann mir hierbei jemand weiterhelfen?
Vielen Dank.
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatisch beim Öffnen der Datei filtern
06.02.2019 11:21:24
SF
Hola,
schade dass du dich nicht mehr gemeldet hast....
Gruß,
steve1da
AW: Automatisch beim Öffnen der Datei filtern
06.02.2019 11:24:28
alex_de_souza
Hallo Steve,
freut mich, dass du schreibst. Ich habe es versucht, aber ich konnte da nicht mehr antworten, da der Beitrag geschlossen war. Mich hats echt geärgert, dass ich mich nicht bedanken konnte.
Vielen Dank für deine Hilfe. Ich habs probiert, jedoch mit der Wennfehler Formel nicht hingekriegt bzw. mit deiner Verlinkung nicht hingekriegt. Es scheint die richtige Richtung zu sein. Wahrscheinlich weiß ich einfach nicht, wie ich es umsetzen soll.
LG
Anzeige
AW: Automatisch beim Öffnen der Datei filtern
06.02.2019 12:19:09
Rudi
Hallo,
Private Sub Workbook_Open()
Application.ScreenUpdating = False
With Sheets("Tabelle1")
.Rows.Hidden = False
.Columns(3).SpecialCells(xlCellTypeFormulas, xlErrors).EntireRow.Hidden = True
End With
End Sub

Gruß
Rudi
AW: Automatisch beim Öffnen der Datei filtern
06.02.2019 13:15:47
alex_de_souza
Danke, funktioniert wunderbar.
Kann man diesen Code auch so einfügen, so das es nicht beim Öffnen, sondern beim Anklicken des Tabellenblatts aktiviert wird?
LG
Anzeige
AW: Automatisch beim Öffnen der Datei filtern
08.02.2019 12:37:54
Rudi
Hallo,
dann
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
With Sheets("Tabelle1")
.Rows.Hidden = False
.Columns(3).SpecialCells(xlCellTypeFormulas, xlErrors).EntireRow.Hidden = True
End With
End Sub

im Modul des Blatts
Gruß
Rudi
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Automatisch beim Öffnen der Datei filtern


Schritt-für-Schritt-Anleitung

Um in Excel automatisch zu filtern und Zeilen mit #NV in Spalte C auszublenden, kannst du den folgenden VBA-Code verwenden. Dieser wird beim Öffnen der Datei ausgeführt:

  1. Öffne Excel und lade die Datei, in der du die automatische Filterung einrichten möchtest.

  2. Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  3. Wähle im Projekt-Explorer links das entsprechende Arbeitsbuch aus.

  4. Doppelklicke auf DieseArbeitsmappe.

  5. Füge den folgenden Code in das Fenster ein:

    Private Sub Workbook_Open()
       Application.ScreenUpdating = False
       With Sheets("Tabelle1")
           .Rows.Hidden = False
           .Columns(3).SpecialCells(xlCellTypeFormulas, xlErrors).EntireRow.Hidden = True
       End With
    End Sub
  6. Schließe den VBA-Editor und speichere die Datei als Excel-Makro-aktivierte Arbeitsmappe (*.xlsm).

  7. Schließe und öffne die Datei erneut, um den Filter zu testen.

Wenn du möchtest, dass der Filter nicht beim Öffnen, sondern beim Anklicken des Tabellenblattes aktiviert wird, kannst du den Code wie folgt anpassen:

Private Sub Worksheet_Activate()
    Application.ScreenUpdating = False
    With Sheets("Tabelle1")
        .Rows.Hidden = False
        .Columns(3).SpecialCells(xlCellTypeFormulas, xlErrors).EntireRow.Hidden = True
    End With
End Sub

Häufige Fehler und Lösungen

  • Fehler: "Method 'SpecialCells' of object 'Range' failed"

    • Lösung: Dieser Fehler tritt auf, wenn es keine #NV-Werte in der angegebenen Spalte gibt. Stelle sicher, dass es mindestens einen #NV-Wert gibt, bevor du den Code ausführst.
  • Fehler: Zeilen werden nicht ausgeblendet

    • Lösung: Überprüfe, ob du den Code in das richtige Modul eingefügt hast (entweder DieseArbeitsmappe oder das spezifische Tabellenblatt).

Alternative Methoden

Wenn du die automatische Filterung ohne VBA nutzen möchtest, kannst du die Funktion "Filter" in Excel verwenden:

  1. Wähle die Zellen in deiner Tabelle aus.
  2. Gehe zum Reiter "Daten" und klicke auf "Filtern".
  3. Klicke auf den Filterpfeil in der Überschrift von Spalte C und deaktiviere die Option #NV.

Diese Methode erfordert manuelle Eingaben, hat aber den Vorteil, dass du keine Makros verwenden musst.


Praktische Beispiele

Stell dir vor, du hast eine Excel-Tabelle mit Verkaufsdaten. In Spalte C siehst du die Verkaufszahlen und manchmal erscheinen #NV-Werte, wenn Daten fehlen. Mit dem oben beschriebenen VBA-Code kannst du diese Zeilen beim Öffnen der Datei automatisch ausblenden. So siehst du immer nur die relevanten Daten.


Tipps für Profis

  • Verwende Application.ScreenUpdating = False, um das Flackern beim Ausblenden von Zeilen zu verhindern.
  • Teste deinen VBA-Code in einer Kopie deiner Arbeitsmappe, um sicherzustellen, dass er wie gewünscht funktioniert.
  • Nutze Debug.Print, um Informationen in das Direktfenster des VBA-Editors auszugeben, falls du auf Probleme stößt.

FAQ: Häufige Fragen

1. Kann ich den VBA-Code auf andere Tabellenblätter anwenden?
Ja, du kannst den Code anpassen, indem du den Namen des Tabellenblattes änderst.

2. Funktioniert der Code auch in Excel Online?
Leider unterstützt Excel Online keine VBA-Makros. Du musst die Desktop-Version von Excel verwenden.

3. Wie kann ich den Filter zurücksetzen?
Du kannst den Filter zurücksetzen, indem du die Sichtbarkeit der Zeilen wiederherstellst. Füge in deinen Code die Zeile .Rows.Hidden = False hinzu, bevor du die Zeilen mit #NV ausblendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige