Excel VBA – Tabellenexistenz prüfen

Excel VBA - Tabellenexistenz prüfen

Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.

Bevor Sie auf eine bestimmte Tabelle in einer Arbeitsmappe zugreifen, sollten Sie prüfen, ob diese auch tatsächlich existiert. In diesem Beitrag zeige ich Ihnen wie es geht.

111 VBA Makros die Ihr Leben leichter machen. Egal ob Sie Einsteiger oder fortgeschrittener Anwender sind – in diesem Buch finden Sie Lösungen für Ihre alltäglichen Aufgaben. Keine Vorkenntnisse notwendig.

Wechseln Sie zunächst mit der Tastenkombination ALT+F11 in die Entwicklungsumgebung und fügen Sie ein neues Modul ein. Als Nächstes legen wir eine neue Funktion an. Dieser wird der Name der Tabelle übergeben, deren Existenz wir prüfen möchten. Die Funktion gibt wiederrum einen booleschen Wert (wahr bzw. falsch) aus.

Function TabEx(strTab As String) As Boolean

End Function

Innerhalb der Funktion wird eine Variable vom Typ Worksheet deklariert. Standardmäßig setzen wir den Rückgabewert auf falsch. Anschließend gehen wir mit einer Schleife über alle Blätter der Arbeitsmappe und suchen nach dem jeweiligen Tabellennamen. Im Falle einer Übereinstimmung wird der Rückgabewert auf wahr gesetzt. Anschließend beenden wir die Funktion.

Function TabEx(strTab As String) As Boolean
Dim Blatt As Worksheet

TabEx = False

For Each Blatt In ActiveWorkbook.Worksheets

If Blatt.Name = strTab Then

TabEx = True
Exit Function

End If
Next Blatt
End Function

Unternehmensplanung mit SAP BPC

111 VBA Makros die Ihr Leben leichter machen

Wollen Sie Ihre langweiligen Routineaufgaben loswerden? Möchten Sie Excel an Ihre Bedürfnisse anpassen, Berechnungen automatisieren, eigene Dialogfelder erstellen und vieles mehr? Dieses Buch zeigt Ihnen, wie Sie Ihre Aufgaben schnell und einfach mit VBA erledigen.

Diese Funktion können Sie nun immer aus einem Makro aufrufen, wenn Sie auf eine Tabelle zugreifen. Zum Beispiel wenn Sie eine Tabelle löschen möchten oder Werte in eine Tabelle reinschreiben wollen. In diesen Fällen ist es sinnvoll sicherzustellen, dass die Tabelle überhaupt existiert.

Anbei ein Beispiel-Makro, welches den Tabellen-Namen an die Funktion übergibt und den booleschen Wert zurückerhält.

Sub TestTabelle()
If TabEx("Tabelle1") = True Then
MsgBox "Die Tabelle existiert"
Else
MsgBox "Die Tabelle existiert nicht"
End If
End Sub

VBA Prüfung - Tabelle existiert

Wie Sie sehen existiert die Tabelle1 tatsächlich. Prüfen wir nun ob in der Mappe eine Tabelle mit dem Namen Tabelle4 vorhanden ist.

Sub TestTabelle()
If TabEx("Tabelle4") = True Then
MsgBox "Die Tabelle existiert"
Else
MsgBox "Die Tabelle existiert nicht"
End If
End Sub

VBA Prüfung - Tabelle existiert nicht
Die Beispiel Excel Datei mit dem sofort einsetzbaren Makro und 111+ andere Makros, die Ihr Leben leichter machen, finden Sie hier.

Beeindrucke deinen Chef mit coolen Excel Tricks!

  • Lasse dich von deinen Kollegen nicht abhängen!
  • Spare Zeit und nutze diese für angenehmere Dinge
  • Steigere deine Produktivität und Effizienz
  • Es ist leicht - In meinem Newsletter gebe ich Schritt für Schritt Anleitungen die jeder versteht
  • Bei der Anmeldung zu meinem Newsletter erhälst du das Buch „Excel Tricks die deinen Chef beeindrucken“ als Willkommensgeschenk.
20 Excel Tricks

Jetzt anfordern!

* Pflichtfeld
 
Kein SPAM. 100% sicher.

Quellen und weiterführende Literatur:
Bernd Held – VBA mit Excel: Das umfassende Handbuch
Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.

0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.