Excel prüfen: Existiert ein Tabellenblatt? (VBA & Formeln)

Wenn du in Excel automatisch prüfen willst, ob ein bestimmtes Tabellenblatt existiert – z. B. bevor du Daten kopierst oder Makros ausführst – gibt es elegante Lösungen. In diesem Artikel zeige ich dir zwei Ansätze: über VBA und über Formeln (mit indirekten Bezügen), plus bewährte Tipps und Anwendungsfälle.

1. Der VBA-Ansatz (meine Empfehlung)

Mit VBA lässt sich am sichersten prüfen, ob ein Blatt existiert:

Function BlattExistiert(sheetName As String) As Boolean
    On Error Resume Next
    BlattExistiert = Not (ThisWorkbook.Worksheets(sheetName) Is Nothing)
    On Error GoTo 0
End Function
  • Ruf die Funktion z. B. so auf: If BlattExistiert("Daten2025") Then MsgBox "Das Blatt existiert!" Else MsgBox "Nein, das Blatt fehlt." End If
  • Vorteil: Diese Methode ist robust, schnell und funktioniert auch in großen Arbeitsmappen.

2. Formeltrick mit INDIREKT und ISTFEHLER

Wenn du ohne VBA arbeiten willst, kannst du indirekte Bezüge nutzen:

=NICHT(ISTFEHLER(INDIREKT("'" & Blattname & "'!A1")))
  • Du setzt „Blattname“ als Text oder Referenz auf eine Zelle.
  • Wenn das Blatt existiert, liefert die Formel WAHR, andernfalls FALSCH.

⚠️ Nachteil: Bei gebrochenen Bezügen oder geschützten Blättern kann die Formel fehlschlagen bzw. Fehler erzeugen.

3. Wann du welche Variante verwenden solltest

  • Wenn du Makros nutzt oder automatisierte Prozesse entwickelst → VBA-Methode
  • Wenn du in geteilten Excel-Dateien arbeitest ohne VBA-Rechte → Formeltrick
  • Kombiniere beide in fortgeschrittenen Szenarien (z. B. VBA mit Fallback-Formel)

4. Anwendungsbeispiele & Nutzen

  • Sicheres Kopieren: Bevor du ein Blatt kopierst, checkst du erstmal, ob Zielblatt schon existiert.
  • Dynamische Logs: Wenn ein Reporting-Blatt fehlt, wird es automatisch erstellt.
  • Fehlervermeidung: Verhindere Laufzeitfehler in Makros durch Blattchecks.

Verwandte Themen auf datenanalyst.com

Abhängige Auswahllisten in Excel ohne VBA

Excel Makros & VBA Grundlagen

Excel: Tabelle kopieren & einfügen