PDA

Vollständige Version anzeigen : Worksheets Auflistung kennt nicht alle Arbeitsblätter


cheyenne
24.08.2017, 20:27
Ich bin gerade etwas ratlos, folgendes Problem:

Ich erzeuge in meiner Arbeitsmappe per VBA Diagramme, diese platziere ich auf neuen Worksheets, die ich mit H1, H2 oder H3 benenne, je nachdem welches Diagramm erzeugt wird.

Nun möchte ich gerne zur Laufzeit überprüfen, ob es das Blatt H1, H2 oder H3 bereits gibt, das mache ich wie folgt:

Public Function Table_Check(Sheetname As String) As Boolean

Dim i As Integer
Dim sheet As Variant

Table_Check = False
For Each sheet In Worksheets
If Sheetname = sheet.Name Then
Table_Check = True
Exit Function
End If
Next sheet
End Function

Worksheetsauflistung durchläuft auch erwartungsgemäß die Blätter meiner Arbeitsmappe, aber die Diagrammblätter "sieht" die Funktion nicht, aber alle anderen.

Für jeden Tipp bin ich dankbar, ist ja spookie ;-)

Hasso
24.08.2017, 21:20
Hallo cheyenne,For Each sheet In SheetsEin Diagrammblatt ist vom Typ "Chart" und nicht "Worksheet".

Klaus-Dieter
24.08.2017, 21:28
Hallo,

versuche es mal damit:

Sub Beispiel_For_Each_Next()
Dim Blatt As Object
For Each Blatt In ActiveWorkbook.Sheets
Z = Z + 1
Cells(Z, 1) = Blatt.Name
Next Blatt
End Sub

cheyenne
25.08.2017, 12:08
das verstehe ich nicht, warum soll ich den Namen ausgeben? Ich durchlaufe die Worksheets Auflistung und Überwache sie und da sind sie nicht, warum soll ich jetzt die Namen ausgeben?

cheyenne
25.08.2017, 12:10
super, danke, das hatte mir gefehlt. Nun klappt es!