Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Überprüfen, ob Tabellenblatt existiert.
Joachim
Hi,
ich mochte per Makro in einem anderen Tabellenblatt eine Aktion durchführen. Dies soll aber nur statt finden, wenn das entsprechende Tabellenblatt existiert.
Wie kann ich denn per VBA prüfen, ob das Tabellenblatt "DATEN" existiert oder nicht ?
Danke mal
Joachim

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

Betreff
Benutzer
Anzeige
AW: Überprüfen, ob Tabellenblatt existiert.
16.07.2009 08:40:30
Bowl
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Sheets
If ws.Name = "DATEN" Then
' Auszuführendes Makro
End If
Next ws 

Bin nicht der Profi, aber so (ähnlich) gehts bei mir...
SheetEx() oder WorksheetEx()
16.07.2009 08:51:56
Erich
Hi Joachim,
für Worksheets kannst du das so prüfen:

Function WorksheetEx(strNam As String) As Boolean
On Error Resume Next
WorksheetEx = Worksheets(strNam).Index > 0
End Function

Für Sheets analog:

Function SheetEx(strNam As String) As Boolean
On Error Resume Next
SheetEx = Sheets(strNam).Index > 0
End Function
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: SheetEx() oder WorksheetEx()
16.07.2009 09:22:34
Jogy
Hi.
Noch eine Möglichkeit:
Sub DeinMakro()
Dim myWsh As Worksheet
On Error Resume Next
' Arbeitsblattname anpassen
Set myWsh = Worksheets("Daten")
If Err.Number  0 Then Exit Sub
On Error GoTo 0
' Hier kommt jetzt Dein Makrocode
' Das Arbeitsblatt kannst Du nun mit myWsh ansprechen
End Sub
Gruss, Jogy

23 Forumthreads zu ähnlichen Themen


Liebe Fachleute für InternetExplorer aus Excel-VBA heraus!
ich habe Excelsheet mit Adressen u.a. auch URLs (und Mailadr.)
ich möchte prüfen, ob die in meiner Liste (eine Spalte) erfassten URLs seit der letzten Mailingsaktion vor einem Jahr noch erreichbar sind:
(In einem weiteren Sc...

Hallo zusammen,
hab folgendes Problem. Ich öffne nacheinander verschiedene Dateien um bestimmte Zellen auszulesen.
Wenn in der geöffneten Datei das Tabellenblatt mit dem Namen "Motor" nicht vorhanden ist sollen die nachfolgenden Schritte nicht bearbeitet werden. Irgendwie klappt das bei...

Hallo,
folgendes Problem.
Ich öffne aus einer Excel Datei eine andere Excel Datei. Hier muss ich prüfen,
ob es zwei WorkSheets gibt.
01 SH1 TH1
02 SH1 TH2
Wenn es einen von beiden nicht gibt, soll eine Fehlermeldung erscheinen.
Ich habe das hier mal programmiert aber...

Hallo,
gibt es in VBA die Möglichkeit in VBA zu prüfen, ob in Spalte A10:A100 der Wert "x" exsistiert?
Vielleicht gib es auch eine Möglichkeit, rauszubekommen wie oft der Wert vorhanden ist?
Vielen Dank im Vorraus
Mars

Hallo,
ich möchte prüfen, ob die Formularschaltfläche "WAHR" bereits vorhanden ist und dementsprechend eine MsgBox ausgeben. Irgendetwas klappt nicht, weiß aber nicht wo der Fehler ist. Option Explicit Sub Testmodul() Dim shShape As Shape With ActiveSheet If shShape.Name = "WAHR" Then MsgBo...

Hallo,
ich habe folgendes Problem:
Datei 1 ist eine Tabelle in der Buchungen erfasst werden. Relevant für mich ist hierbei die 2. Spalte in der der Buchungsmonat erfasst wird.
Datei 2 ist meine Planung für das nächste Jahr. Hier habe ich zu jedem Monat meine Spalten SOLL und IST. F...
Anzeige
Anzeige

Infobox zum Thema

EXCEL - Arbeitsmappe bzw. Tabellenblatt auf Existenz prüfen


Inhaltsverzeichnis

  1. Was ist die VBA-Prüfung für ein Tabellenblatt?
  2. Einsatzzweck
  3. VBA-Code zur Durchführung der Aufgabe
  4. Anwendungsbeispiele aus der Praxis
  5. Tipps
  6. Verwandte Methoden und Funktionen
  7. Zusammenfassung

Was ist die VBA-Prüfung für ein Tabellenblatt?

Mit Visual Basic für Applikationen (VBA) in Excel kannst du prüfen, ob ein bestimmtes Tabellenblatt in einer Arbeitsmappe vorhanden ist oder nicht. Dies wird in der Regel durch eine benutzerdefinierte Funktion oder ein Makro erledigt.


VBA bietet keine integrierte Funktion an, um direkt zu prüfen, ob ein Tabellenblatt existiert. Daher nutzen wir eine Kombination aus Try-Catch-Struktur und Schleifen, um dies zu überprüfen.

Einsatzzweck

Dies ist besonders nützlich, wenn du Automatisierungen oder komplexe Aktionen in Excel durchführst und sicherstellen möchtest, dass das Skript nicht mit einem Fehler abstürzt, falls ein bestimmtes Tabellenblatt nicht vorhanden ist.

Fehlervermeidung und Flexibilität

Durch die Überprüfung auf die Existenz des Tabellenblatts kannst du sicherstellen, dass dein Code robuster und flexibler ist. Es hilft auch, unerwartete Fehler oder Probleme zu vermeiden.


VBA-Code zur Durchführung der Aufgabe

Hier ist ein einfaches VBA-Beispiel, das prüft, ob das Tabellenblatt "DATEN" existiert:

Function SheetExists(sheetName As String) As Boolean
    Dim ws As Worksheet
    SheetExists = False
    For Each ws In ThisWorkbook.Sheets
        If ws.Name = sheetName Then
            SheetExists = True
            Exit Function
        End If
    Next ws
End Function

Sub TestSheetExists()
    If SheetExists("DATEN") Then
        ' Dein Code hier
        MsgBox "Das Tabellenblatt DATEN existiert."
    Else
        MsgBox "Das Tabellenblatt DATEN existiert nicht."
    End If
End Sub

Anwendungsbeispiele aus der Praxis

Angenommen, du hast ein Makro, das Daten aus dem Tabellenblatt "DATEN" holt und in einem anderen Tabellenblatt verarbeitet. Bevor das Makro läuft, würde es die SheetExists Funktion nutzen, um sicherzustellen, dass alles reibungslos funktioniert.


Tipps

  • Der Code sollte vor jedem VBA-Code stehen, der das Tabellenblatt "DATEN" benötigt, um mögliche Fehler zu vermeiden.
  • Du kannst den Code auch in einem größeren VBA-Projekt verwenden, um die Existenz mehrerer Tabellenblätter zu überprüfen.

Verwandte Methoden und Funktionen

  • Worksheets: Eine Sammlung, die alle Tabellenblätter in der Arbeitsmappe enthält.
  • ThisWorkbook: Bezieht sich auf die Arbeitsmappe, in der der VBA-Code ausgeführt wird.

Zusammenfassung

Die Überprüfung der Existenz eines Tabellenblatts in VBA ist eine nützliche Funktion, die die Robustheit und Fehlerresistenz deines Codes erhöhen kann. Durch die Verwendung der SheetExists Funktion kannst du sicherstellen, dass dein Code nur ausgeführt wird, wenn das erforderliche Tabellenblatt vorhanden ist.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige