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

Prüfen ob Blatt schon vorhanden?

Prüfen ob Blatt schon vorhanden?
23.09.2004 08:50:50
Oliver
Moin an alle,
ich steh mal wieder auf dem Schlauch. Ich habe ein Makro, welches überprüfen soll, ob es zu den Einträgen in jeder Spalten in Zeile 2 ein Tabellenblatt gibt. Was ich meine ist, in Spalte C2 steht z.B. Seite1. Nun soll geprüft werden, ob es ein Tabellenblatt mit der Seite 1 gibt. In Zelle D2 steht Seite2. Auch hier soll überprüft werden ob es das Blatt schon gibt. Das ganze frage ich über eine For/Next Schleife ab. Gibt es das zu dem Zelleintrag ein Blatt, soll eine MsgBox erscheinen, die mir mitteilt, dass es das Blatt schon gibt. Wenn noch nicht vorhanden, soll eine MsgBox erscheinen, die mir schreibt, dass das Blatt noch nicht vorhanden ist. Ich habe schon eine Makro, welches schon fast das macht, was ich mir vorstelle. Also es schreibt mir ob es ein Blatt schon gibt. Aber wenn es auf einen Eintrag trifft, zu dem kein Blatt vorhanden ist, bricht die ganze Geschichte ab. Warum? Kann eventuell mal jemand über das nachfolgende Makro schauen un eventuell den Fehler finden, warum das Makro abbricht? Wäre super.

Sub Aktualisierung_starten()
Dim Spalte As Long, BlattName As String, Wiederholungen As Integer
Application.ScreenUpdating = False
Spalte = Cells(2, Columns.Count).End(xlToLeft).Column
If ActiveSheet.Name = "Übersicht" Then
For Wiederholungen = 3 To Spalte Step 1
BlattName = Worksheets("Übersicht").Cells(2, Wiederholungen)
MsgBox BlattName
If Sheets(Wiederholungen - 1).Name = BlattName Then
MsgBox "Schon vorhanden"
Else
MsgBox "Noch nicht vorhanden"
End If
Next Wiederholungen
End If
End Sub

Danke Euch schon mal im Voraus für die Mühe,
Oliver

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfen ob Blatt schon vorhanden?
Erich
Hallo Oliver,
ich prüfe ob Tabellenblätter vorhanden sind immer so:
(von Hajo)

Sub TabAuswahl2()
Dim Sh As Worksheet
Dim sName$
sName = "NichtGefunden"  'InputBox("Bitte Tabellenname auswählen!")
For Each Sh In Worksheets
If InStr(Sh.Name, sName) > 0 Then
Sh.Select
Exit Sub
End If
Next Sh
Sheets.Add.Name = ("NichtGefunden")
Cells(1, 10).Select
'Beep
'MsgBox "Kein Blatt gefunden!"
End Sub

mfg
Erich
Leider nicht das richtige!
Oliver
Moin Erich,
danke Dir für die schnelle Antwort. Leider hilft mir das nicht so richtig weiter. Bei Deinem Makro wird immer nur der eine eingegebene Blattname geprüft. Ich benötige das aber etwas variabler, da es im laufe der Zeit immer mehr Spalten geben wird, wo in der Zeile 2 ein Text steht und dann eben geprüft werden soll, ob es ein Tabellenblatt gibt, was den Namen hat, der gleich dem Text in der Zelle ist. Es soll dann eigentlich noch mehr passieren, aber das versuche ich dann alleine hinzubekommen. Ziel ist unter anderem, dass wenn das Tabellenblatt zu dem Eintrag nicht existiert, ein Blatt angelegt wird und dann noch mehr. Aber wie schon geschrieben, dass möchte ich ganz gerne dann selber erarbeiten.
Also, sorry, dass ich nicht so richtig was mit Deiner Lösung anfangen kann. Vielleicht hat ja noch jemand eine Idee, wie mein obiges Makro umgestaltet werden muss, damit es nicht abbricht, wenn es einen Blattnamen überprüfen soll, zu dem es noch kein Blatt gibt.
Gruß,
Oliver
Anzeige
AW: Prüfen ob Blatt schon vorhanden?
Dieter
Hallo Oliver
mit dieser Funktion ist Dir vielleicht geholfen

Function BlattExistiert(strTestname As String, strMappenname As String) As Boolean
Dim objMappe As Workbook
Dim objBlatt As Worksheet
BlattExistiert = False
Set objMappe = Application.Workbooks(strMappenname)
For Each objBlatt In objMappe.Worksheets
If objBlatt.name = strTestname Then
BlattExistiert = True
Exit For
End If
Next objBlatt
End Function

Gruß Dieter
Nein, glaube, dass es das auch nicht ist!
Oliver
Hi Dieter,
auch Dir ein herzliches Dankeschön für die schnelle Hilfe. Aber zuerst einmal weiß ich nicht, wie ich solch eine Funktion aufrufen kann. Aber ich glaube ich nicht, wenn ich mir den Inhalt des Makros ansehe, dass mich das weiterbringt.
Warum versucht eigentlich keiner bei einem Lösungsvorschlag mein gepostetes Makro mit einzubeziehen? Denn so ganz verkehrt ist es ja nicht, nur eben wenn das Blatt noch nicht vorhanden ist, gibs eine Fehlermeldung. Dass muss doch irgendwie mit dem Makro hinzubekommen sein?
Trotzdem noch mal danke,
Oliver
Anzeige
AW: Prüfen ob Blatt schon vorhanden?
Reinhard
Hi Oliver,
bezogen auf: https://www.herber.de/bbs/user/11216.xls

Sub Aktualisierung_starten()
Dim Spalte As Long, BlattName As String, Wiederholungen As Integer, a As Boolean
Application.ScreenUpdating = False
Spalte = Cells(2, 256).End(xlToLeft).Column
For Wiederholungen = 3 To Spalte
BlattName = Worksheets("Übersicht").Cells(2, Wiederholungen)
a = False
For n = 1 To Worksheets.Count
If Worksheets(n).Name = BlattName Then a = True
Next n
If a = True Then
MsgBox BlattName & " schon vorhanden."
Else
MsgBox BlattName & " noch nicht vorhanden."
End If
Next Wiederholungen
Application.ScreenUpdating = True
End Sub

Gruß
Reinhard
Anzeige
AW: Prüfen ob Blatt schon vorhanden?
WernerB.
Hallo Oliver,
wie gefällt Dir das?

Sub Aktualisierung_starten()
Dim BlattName As String
Dim Spalte As Long
Dim Wiederholungen As Integer
Application.ScreenUpdating = False
Spalte = Cells(2, Columns.Count).End(xlToLeft).Column
If ActiveSheet.Name = "Übersicht" Then
For Wiederholungen = 3 To Spalte Step 1
BlattName = Worksheets("Übersicht").Cells(2, Wiederholungen)
On Error Resume Next
Sheets(BlattName).Select
If Err.Number <> 0 Then
MsgBox "Blatt '" & BlattName & "' existiert nicht !"
Else
MsgBox "Blatt '" & BlattName & "' existiert !"
End If
On Error GoTo 0
Next Wiederholungen
End If
Sheets("Übersicht").Select
Application.ScreenUpdating = True
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
Prima und perfekt
Oliver
Hi Reinhard und Werner,
danke Euch für Eure Lösungsvorschläge. Beide funktionieren so, wie ich es mir vorgestellt habe.
Gruß,
Oliver

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige