Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
648to652
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
648to652
648to652
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Prüfung, obTabelle existiert

Prüfung, obTabelle existiert
12.08.2005 17:16:56
Peter
hi,
*************
Als Antwort auf: VBA: Überprüfen ob eine bestimmte Tabelle existiert. Beitrag von: Musti vom Dezember 02, 1999 at 15:15:30:
Hallo Musti,
Sub ExistiertTabelle()
Dim Blatt As Object, Blattname$
Blattname = "Tabelle5"
For Each Blatt In Sheets
If Blatt.Name = Blattname Then
MsgBox Blattname & " existiert."
Exit Sub
End If
Next
MsgBox Blattname & " existiert nicht."
End Sub
Viele Grüße
Jörg
**********
Ich habe folgendes Problem: es sollen 12 neue Tabellen mit Name "Januar 2005", "Februar 2005" etc angelegt werden. Der Code klappt (fast) tadellos. Wenn jemand den Button, der die Erzeugung der Tabellen auslöst zweimal und mher drückt wird ein Laufzeitfehler ausgelöst, da die Tabellen ja bereits vorhanden sind. Der Fehler soll nun abgefangen werden und ich habe obigen Code einzubauen versucht.
Ich habe es als eigene Funktion versucht und auch um die for-Schleife herum, um eine Fehlermeldung auszugeben.
Beides ist gescheitert: Blatt ist laut Debugger LEER und für Blattname brauche ich eine Idee, wie ich die Variable deklariere, da der nächste Monatskalender mit "Januar 2006" beginnt. der String wird aus einem Monatsarray und der übergebenen Jahreszahl zusammengesetzt.
Kann jemand helfen/erklären, wie ich auf ein evtl nicht vorhandenes Tabellenblatt (wird dann bestimmt auch wieder ein Laufzeitfehler) prüfen kann?

Private Sub Monate_Anlegen_Click()
Dim Monat
Dim Jahr As Range
Dim Blatt As Sheets
Monat = Array("Dezember", "November", "September", "Oktober", "August", "Juli", "Juni", "Mai", "April", "März", "Februar", "Januar")
Set Jahr = Worksheets("Jahreskalender").Range("A4")
For i = 0 To 11
Tab_Name = Monat(i) & " " & Jahr.Value
Worksheets.Add.Name = Tab_Name
Next i
End Sub

eine Fragen noch: ist Code-Klau wie oben erlaubt, erwünscht?
danke & lg Peter

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

Betreff
Datum
Anwender
Anzeige
AW: Prüfung, obTabelle existiert
12.08.2005 17:26:26
Matthias
Hallo Peter,
mein Vorschlag:

Function ExistiertTabelle(Blattname As String) As Boolean
Dim Blatt As Worksheet
For Each Blatt In Sheets
If Blatt.Name = Blattname Then
ExistiertTabelle = True
Exit Function
End If
Next
ExistiertTabelle = False
End Function
Private Sub Monate_Anlegen_Click()
Dim Monat
Dim Jahr As Range
Dim Blatt As Sheets
Dim Tab_Name As String
Dim i As Integer
Monat = Array("Dezember", "November", "September", "Oktober", "August", "Juli", _
"Juni", "Mai", "April", "März", "Februar", "Januar")
Set Jahr = Worksheets("Jahreskalender").Range("A4")
For i = 0 To 11
Tab_Name = Monat(i) & " " & Jahr.Value
If ExistiertTabelle(Tab_Name) Then
MsgBox "Blätter existieren schon!"
Exit For
End If
Worksheets.Add.Name = Tab_Name
Next i
End Sub

Gruß Matthias
Anzeige
AW: Prüfung, obTabelle existiert
12.08.2005 18:00:09
Peter
hi,
sorry für die vergessenen Deklarationen
Perfekt!
Auch wenn ichs nicht verstehe: vielen Dank :-)
lg Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige