Hallo zusammen,
ich versuche über VBA existierende Arbeitsblätter abzufragen und dann bei Bedarf ein neues Arbeitsblatt mit einem bestimmten Namen zu erzeugen. In diesen Arbeitsblättern erstelle ich Diagramme. Das in einer Schleife für > 100 Diagramme und ca. 10 Arbeitsblättern.
Das klappt dann, wenn nach jedem Diagramm ein neues Arbeitsblatt erstellt wird oder mehrere Diagramme in einem Arbeitsblatt erstellt werden.
Es klappt aber dann nicht mehr, wenn mehr als ein Diagramm in einem Arbeitsblatt erstellt wurde und das nächste Diagramm in ein neues Arbeitsblatt müsste.
In der Zeile
If blatt.Name = BlattName Then bolFlg = True
gibt er mir dann bei unterschiedlichen Namen von "blatt.Name" und BlattName True bzw. War aus. Das hat zur folge, das er kein neues Arbeitsblatt erstellt, das Diagramm aber in ein neues Arbeitsblatt eingefügt werden soll -> Fehler.Ich komme hier nicht weiter. Grundsätzlich funktioniert alles. In der spezielle Konstellation erkennt er aber unterschiedliche Namen als identisch, obwohl es offensichtlich nicht so ist. Wo kann hier der Fehler liegen?
'** Neues benanntes Tabellenblatt einfügen
'** Dimensionierung der Variablen
Dim blatt As Worksheet
Dim BlattName As String
Dim bolFlg As Boolean
' Zeile mit Szenario in Parameter einfügen
'** Blattname festlegen
BlattName = Sheets("Statische Berechnung").Cells(6, DiagrammBeginn - 1).Value
'** Prüfen, ob das Blatt, welches eingefügt werden soll bereits vorhanden ist
'** Nur einfügen, wenn Blatt noch nicht vorhanden ist
For Each blatt In ThisWorkbook.Worksheets
If blatt.Name = BlattName Then bolFlg = True
Next blatt
'** Blatt nur einfügen, wenn noch nicht vorhanden
If bolFlg = False Then
With ThisWorkbook
.Worksheets.Add after:=Sheets(Worksheets.Count)
.ActiveSheet.Name = BlattName
End With
End If