27.01.2022, 20:49
(Dieser Beitrag wurde zuletzt bearbeitet: 27.01.2022, 21:05 von Flotter Feger.
Bearbeitungsgrund: Der PHP-Tag spinnt total !!!
)
Hallo,
das geht, aber nur per VBA.
Das VorlageBlatt heißt "VST" (VorlageStandardTabelle). Dieses Worksheet muss immer in der Datei bleiben ... und es muss zu Beginn das einzige sein !!!
Öffnest du die Vorlage (Dateiendung XLTM) wird "VST" kopiert ... so bleibt es "immer sauber" ... und mit dem Namen 'NeuesBlatt01' benannt.
Die '01' kommt aus Zelle A1 auf Blatt "VST" und wird vom Code hochgezählt. In der XLTM sollte dieser Zähler auf 0 stehen, falls nicht, stimmt eben die Zahl bei 'NeuesBlatt01' nicht.
Klickst du jetzt das '+' um ein neues Tabellenblatt hinzuzufügen, fängt der Code dies ab, kopiert stattdessen das Blatt "VST" und benennt die Kopie mit 'NeuesBlatt02' ... 'NeuesBlatt03' ... usw.
Die Blätter können jederzeit nach Wunsch umbenannt werden ... das stört den Code nicht. Bei diesem Code, sind maximal 99 Sheets möglich.
Den Code in 'DieseArbeitsmappe'.
Ich denke, du kommst klar.
das geht, aber nur per VBA.
Das VorlageBlatt heißt "VST" (VorlageStandardTabelle). Dieses Worksheet muss immer in der Datei bleiben ... und es muss zu Beginn das einzige sein !!!
Öffnest du die Vorlage (Dateiendung XLTM) wird "VST" kopiert ... so bleibt es "immer sauber" ... und mit dem Namen 'NeuesBlatt01' benannt.
Die '01' kommt aus Zelle A1 auf Blatt "VST" und wird vom Code hochgezählt. In der XLTM sollte dieser Zähler auf 0 stehen, falls nicht, stimmt eben die Zahl bei 'NeuesBlatt01' nicht.
Klickst du jetzt das '+' um ein neues Tabellenblatt hinzuzufügen, fängt der Code dies ab, kopiert stattdessen das Blatt "VST" und benennt die Kopie mit 'NeuesBlatt02' ... 'NeuesBlatt03' ... usw.
Die Blätter können jederzeit nach Wunsch umbenannt werden ... das stört den Code nicht. Bei diesem Code, sind maximal 99 Sheets möglich.
Den Code in 'DieseArbeitsmappe'.
PHP-Code:
Option Explicit
Private Sub Workbook_NewSheet(ByVal Sh As Object)
With Application
.DisplayAlerts = False
.EnableEvents = False
Sh.Delete
Worksheets("VST").Visible = xlSheetVisible
Worksheets("VST").Copy After:=Sheets(Sheets.Count)
Worksheets("VST").Range("A1").Value = .Range("A1").Value + 1
ActiveSheet.Name = "NeuesBlatt" & Format(Worksheets("VST").Range("A1"), "00")
ActiveSheet.Range("A1").Value = ""
Worksheets("VST").Visible = xlSheetHidden
.EnableEvents = True
.DisplayAlerts = True
End With
End Sub
Private Sub Workbook_Open()
If Sheets.Count > 1 Then Exit Sub
With Worksheets("VST")
.Copy After:=Sheets(1)
.Visible = xlSheetHidden
.Range("A1").Value = .Range("A1").Value + 1
ActiveSheet.Name = "NeuesBlatt" & Format(Sheets("VST").Range("A1"), "00")
ActiveSheet.Range("A1").Value = ""
End With
End Sub
Ich denke, du kommst klar.

_________
VG Sabina
VG Sabina