Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wie Prüfen ob Worksheet vorhanden

Wie Prüfen ob Worksheet vorhanden
Holger
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 das bringt nicht viel, denn ich brauche
den genauen Namen.
Wie kann ich schnell und komfortabel das prüfen?
Sub sonicht
For Each wks In Worksheets
strWorkSheets = wks.Name
If InStr(strWorkSheets, "01 02 SH1 TH1") > 0 Then
strWorkSheets2 = Left(strWorkSheets, 2)
If InStr(strWorkSheets, strWorkSheets2) = 0 Then
MsgBox "Achtung, Tabellenblattnamen sind nicht gültig"
End If
Else
MsgBox "Achtung, Tabellenblattnamen sind nicht gültig"
End If
Next wks
End Sub

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

Betreff
Benutzer
Anzeige
AW: Wie Prüfen ob Worksheet vorhanden
28.06.2010 14:48:02
Beverly
Hi Holger,
eine Möglichkeit:
Sub WorksheetsVorhanden()
Dim wsTabelle1 As Worksheet
Dim wsTabelle2 As Worksheet
On Error Resume Next
Set wsTabelle1 = Worksheets("Tabelle1")
Set wsTabelle2 = Worksheets("Tabelle2")
On Error GoTo 0
If wsTabelle1 Is Nothing And wsTabelle2 Is Nothing Then
MsgBox "Beide Tabellen fehlen"
ElseIf wsTabelle1 Is Nothing Then MsgBox "Tabelle1 fehlt"
ElseIf wsTabelle2 Is Nothing Then MsgBox "Tabelle2 fehlt"
End If
Set wsTabelle1 = Nothing
Set wsTabelle2 = Nothing
End Sub



Anzeige
AW: Wie Prüfen ob Worksheet vorhanden
28.06.2010 15:07:53
Holger
Hallo Karin,
Danke für deinen Beitrag. Nur wenn ich später mehr als zwei namen pürfen muss,
werden die ifs schnell übersichtlich.
Ich habe es jetzt so gelöst:
Sub CheckWorkSheets()
Dim wks As Worksheet
Dim strWorksheets, lngT As Long
Dim intError As Integer
strWorksheets = Array(cpwMaster.Range("C4").Value, cpwMaster.Range("C5").Value, cpwMaster. _
Range("C6").Value)
cpwWB.Activate
For lngT = LBound(strWorksheets) To UBound(strWorksheets)
For Each ws In ActiveWorkbook.Sheets
If sh.Name  strName Then
MsgBox "Dieser Sheet existiert nicht: " & strName & ", bitte prüfen!"
End If
Next ws
Next lngT
End Sub

Anzeige
So geht es!!!!
28.06.2010 15:25:21
Holger
Sub CheckWorkSheets()
Dim wks As Worksheet
Dim strName As String
Dim strWorksheets, lngT As Long
Dim intError As Integer
strWorksheets = Array(cpwMaster.Range("C4").Value, cpwMaster.Range("C5").Value, cpwMaster.Range("C6").Value)
cpwWB.Activate
For lngT = LBound(strWorksheets) To UBound(strWorksheets)
strName = (strWorksheets(lngT))
If Not SheetExists(strName) Then
MsgBox "Hurra"
End If
Next lngT
End Sub
Public Function SheetExists(strName As String) As Boolean
Dim Sh As Worksheet
For Each Sh In ActiveWorkbook.Sheets
If Sh.Name = strName Then
SheetExists = True
Exit Function
End If
Next Sh
SheetExists = False
End Function

Anzeige

322 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige