Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1384to1388
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Abbrechen wenn Tabelle nicht vorhanden (VBA)

Abbrechen wenn Tabelle nicht vorhanden (VBA)
05.10.2014 21:18:45
Henner
Hallo zusammen,
ich möchte mein bestehendes Makro dahingehend erweitern, dass es beendet wird wenn eine vorgegebene Tabelle nicht vorhanden ist. Dafür konnte ich als Lösungsansatz bereits folgende Codes zusammensuchen, bekomme aber leider nicht das gewünschte Ergebnis.
(Code: http://ms-excel.eu)

Sub Tabellenname_abfragen()
Dim i As Integer
For i = 1 To Worksheets.Count
If Worksheets(i).Name = "Break" Then
Worksheets(i).Activate
MsgBox Worksheets(i).Name & " ist vorhanden"
End If
Next
End Sub

Sub Tabelle_mit_Name_anlegen()
Dim WS As Worksheet
Dim Hinweis As Byte
For Each WS In Worksheets
If WS.Name = "Break" Then
WS.Activate
MsgBox WS.Name & " ist vorhanden"
Exit Sub
End If
Next WS
Hinweis = MsgBox("Tabellenblatt existiert nicht. Anlegen?", 1, "Hinweis")
If Hinweis = 1 Then
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Break"
End If
End Sub

Ich habe bereits mehrere Versuche unternommen, entweder lande ich immer beim Exit Sub oder die Tabelle wird nicht gesehen obwohl sie da ist.
So soll der Code funktionieren:

Sub BestehendesMakro()
Mein bestehender Code
Abfrage existiert die Tabelle "Daten"?
Nein: msgBox, anschliessend Exit Sub
Ja: Code weiter ausführen
Mein bestehender Code
End Sub

Ich hoffe ich konnte mein Anliegen einigermassen Verständlich ausdrücken.
Besten Dank & Gruss, Henner

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Abbrechen wenn Tabelle nicht vorhanden (VBA)
06.10.2014 00:57:37
Adis
Hallo
ich denke die einfachste Lösung dürfte der untere Code sein.
Ich benutze gerne Const oder auch eine Zelle für den Suchwert.
Die Variable Blatt dient als Merker ob das Blatt gefunden wurde.
Const Suchname = "Daten"
Sub Tabellenname_abfragen()
Dim i As Integer, Blatt As String
'.... Code vor der Abfrage
'Abfrage nach Tabellenblatt
For i = 1 To Worksheets.Count
If Worksheets(i).Name = Suchname Then Blatt = "Ja": Exit For
Next
If Blatt = Empty Then MsgBox Suchname & "  nicht gefunden": Exit Sub
'....  weiter im Programm
End Sub
Gruss Adis

Anzeige
AW: oder so, nur ohne For-Schleife!
06.10.2014 06:29:27
Luschi
Hallo Werner,
ich mach das immer so:

Sub Tabelle_mit_Name_anlegen()
Dim WS As Worksheet
Dim Hinweis As Byte
On Error Resume Next
Set WS = ThisWorkbook.Worksheets("Break")
On Error GoTo 0
If WS Is Nothing Then
Hinweis = MsgBox("Tabellenblatt 'Break' existiert nicht. Anlegen?", vbYesNo, "Hinweis")
If Hinweis = vbYes Then
Set WS = ThisWorkbook.Worksheets.Add(After:=Worksheets(Worksheets.Count))
WS.Name = "Break"
Else
Exit Sub
End If
Else
WS.Activate
MsgBox WS.Name & " ist vorhanden"
End If
Set WS = Nothing
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige