Doch noch mal: Sheets("Name")
23.07.2003 23:38:28
Franz W.
Ein gelöstes Problem zieht ein neues nach sich. Hätt ich doch nie begonnen zu denken! (Nicht von mir ;-))). Aber meine vorige Frage hat doch noch eine weitere zur Folge:
Mit folgendem Code (und Ottos und Boris' Hilfe) erzeuge ich automatisch in Abhängigkeit vom akt. Jahr ein Blatt:
Sub zur_Ruhe()
Dim Blatt As Sheets
Dim Blattname As String
Dim i As Integer
Dim Ws As Worksheet
Dim jZahl As Integer
jZahl = Year(Date)
Blattname = "bez" & jZahl
'For i = 1 To ActiveWorkbook.Sheets.Count
' If ActiveWorkbook.Sheets(i).Name = Blattname Then
' MsgBox ("Gefunden")
' End If
'Next
For Each Ws In ThisWorkbook.Worksheets
If Ws.Name = "bez" & jZahl Then
MsgBox "Mich gibt es schon"
Exit Sub
End If
Next
Sheets("bez" & jZahl - 1).Select
Sheets.Add
Sheets("Tabelle1").Name = "bez" & jZahl
End Sub
Mit der letzten Zeile gibt's Probleme: sie funktioniert nur, wenn das hinzugefügte Blatt das erste seit Öffnen der Datei ist. Sonst heißt es "Tabelle2" usw., und dann klappt der Code nicht mehr!
Sheets(2) klappt nur, wenn das neue Blatt immer als zweites, also vor dem dritten eingefügt wird (was nicht verlässlich vorausgesetzt werden kann).
Gibt es noch eine Möglichkeit, ein neu eingefügtes bzw. das als letztes eingefügte Blatt anzusprechen bevor es seinen Namen bekommen hat? Oder einen Umweg dorthin?
Für Ideen wäre ich Euch sehr verbunden.
Grüße
Franz