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

Forumthread: Prüfen, ob Tabelle vorhanden

Prüfen, ob Tabelle vorhanden
Peter
Hallo zusammen,
ich habe eine Frage - hier anhand eines Einfach-Makro kurz dargestellt:
Sub peter()
If Sheets("Übersicht").Range("D2").Value  "" Then
Sheets("Tabelle2").Range("D2").Value = "A"
End If
End Sub
Wie muss ich den Code ändern, wenn auch geprüft werden soll, ob die Tabelle überhaupt vorhanden ist.
Ist sie nämlich nicht vorhanden, bekomme ich einen Laufzeitfehler 9 "Index ausserhalb des gültigen Bereiches".
Vielen Dank!
Gruß
Peter
Anzeige

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

Betreff
Benutzer
Anzeige
Bsp ... ob Tabelle vorhanden
19.03.2011 18:40:36
Matthias
Hallo

Dim mywks As Worksheet
For Each mywks In ThisWorkbook.Worksheets
If mywks.Name = "Tabelle8" Then
MsgBox "Tabelle gefunden"
Exit Sub
End If
Next
MsgBox "nicht gefunden"


wobei Tabelle8 der Registername des Blattes ist (bitte anpassen)
Gruß Matthias
Anzeige
@ Matthias: Danke für die Hilfe!
19.03.2011 18:45:40
Peter
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Tabelle in Excel prüfen: Existiert sie oder nicht?


Schritt-für-Schritt-Anleitung

Um zu prüfen, ob eine Tabelle in Excel vorhanden ist, kannst du folgendes VBA-Makro nutzen. Dieses Beispiel zeigt, wie du eine Tabelle namens "Tabelle8" überprüfen kannst:

Sub TabelleVorhandenPruefen()
    Dim mywks As Worksheet
    Dim tabellenName As String
    tabellenName = "Tabelle8" ' Passe den Namen entsprechend an

    For Each mywks In ThisWorkbook.Worksheets
        If mywks.Name = tabellenName Then
            MsgBox "Tabelle gefunden"
            Exit Sub
        End If
    Next
    MsgBox "Tabelle nicht gefunden"
End Sub

Dieses Skript durchläuft alle Arbeitsblätter in der aktuellen Arbeitsmappe und prüft, ob der angegebene Tabellenname existiert.


Häufige Fehler und Lösungen

  • Laufzeitfehler 9: Index außerhalb des gültigen Bereiches
    Dieser Fehler tritt auf, wenn du versuchst, auf ein Arbeitsblatt zuzugreifen, das nicht existiert. Stelle sicher, dass der Tabellenname korrekt geschrieben ist.

  • Falscher Tabellenname
    Achte darauf, dass der Tabellenname exakt übereinstimmt, einschließlich Groß- und Kleinschreibung.


Alternative Methoden

Eine Alternative zum VBA-Skript ist die Verwendung von Excel-Formeln. Du kannst die folgende Formel verwenden, um zu überprüfen, ob ein Wert in einer anderen Tabelle vorhanden ist:

=IF(COUNTIF(Tabelle2!A:A; A1) > 0; "Wert vorhanden"; "Wert nicht vorhanden")

Diese Formel prüft, ob der Wert in der Spalte A der Tabelle "Tabelle2" vorhanden ist.


Praktische Beispiele

  1. Wert in einer Tabelle prüfen
    Angenommen, du möchtest prüfen, ob der Wert in Zelle A1 in der Tabelle "Tabelle2" vorhanden ist. Verwende das folgende VBA-Skript:

    Sub WertPruefen()
       Dim mywks As Worksheet
       Dim wert As Variant
       wert = Sheets("Übersicht").Range("A1").Value
    
       Set mywks = ThisWorkbook.Worksheets("Tabelle2")
       If Application.WorksheetFunction.CountIf(mywks.Range("A:A"), wert) > 0 Then
           MsgBox "Wert in Tabelle2 vorhanden"
       Else
           MsgBox "Wert nicht vorhanden"
       End If
    End Sub
  2. Wenn Wert in anderer Tabelle vorhanden, dann...
    Hier ist ein Beispiel, wie du eine Aktion ausführen kannst, wenn ein Wert vorhanden ist:

    If Application.WorksheetFunction.CountIf(Sheets("Tabelle2").Range("A:A"), wert) > 0 Then
       Sheets("Übersicht").Range("B1").Value = "Wert ist vorhanden"
    End If

Tipps für Profis

  • Benutze Fehlerbehandlung: Implementiere On Error Resume Next und On Error GoTo 0, um Laufzeitfehler zu vermeiden.
  • Benennung von Tabellen: Halte deine Tabellennamen konsistent und beschreibend, um Verwirrung zu vermeiden.
  • Dokumentation: Kommentiere deinen Code ausreichend, damit du bei späteren Änderungen schnell nachvollziehen kannst, was jeder Teil des Codes bewirkt.

FAQ: Häufige Fragen

1. Wie kann ich prüfen, ob mehrere Tabellen vorhanden sind?
Du kannst die Schleife anpassen, um alle benötigten Tabellennamen zu überprüfen. Nutze ein Array, um alle Namen zu speichern und durchlaufe diese in einer Schleife.

2. Kann ich auch andere Bedingungen einfügen?
Ja, du kannst die Bedingungen im VBA-Code anpassen, um spezifische Anforderungen zu erfüllen, z.B. die Prüfung von Werten in verschiedenen Zellen oder Bereichen.

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