ich möchte folgendes per VBA lösen:
Wenn die Arbeitsmappe startet soll geprüft werden, ob ein Sheet mit Name des aktuellen Jahres existiert.
Wenn ja, Exit Sub.
Wenn nicht, soll dieses erstellt werden.
Wenn ein Sheet mit aktuellem Jahr existiert und der aktuelle Monat = 2 ist, soll ein Sheet mit Namen des nächsten Jahres erstellt werden.
Hier mein Ansatz, dieser bricht jedoch ab, mit der Hinweis, dass die Namen bereits vergeben sind,.
Schon mal danke für die Hilfe.
Sub x()
Dim neueSeite As String
Dim SH As Object
Dim found As Boolean
found = False
'Prüfen, ob Sheet mit aktuellem Jahr vorhanden ist.
'Wenn vorhanden aktivieren
SheetYearNow = Year((Now))
For Each SH In ActiveWorkbook.Sheets
If SH.Name = SheetYearNow Then
ActiveWorkbook.Sheets(SheetYearNow).Activate
found = True
End If
Next
'Wenn Sheet mit aktuellem Jahr nicht vorhanden ist,
'hinten anlegen und aktivieren
If found = False Then
ActiveWorkbook.Worksheets.Add after:=Sheets(Worksheets.Count)
ActiveSheet.Name = SheetYearNow
found = True
If found = True Then
If Month(Now()) = 2 Then
ActiveWorkbook.Worksheets.Add after:=Sheets(Worksheets.Count)
ActiveSheet.Name = SheetYearNow + 1 'Sheet für das nächste Jahr
End If
End If
End If
End Sub