Ich hatte vor länger Zeit schon einmal angefragt...
www.herber.de/forum/archiv/1076to1080/t1076338.htm
...jedoch bis heute leider keinerlei Hilfe erhalten.
Bitte, kann mir keiner helfen? Ich bräuchte dringend Hilfe!
Vielen Dank im Voraus.
Gruß Mike
www.herber.de/forum/archiv/1076to1080/t1076338.htm
Private Sub CommandButton1_Click()
'Vorlagenblatt kopieren, einfügen und umbenennen mit fortlaufender Nr.
Dim wksNeu As Worksheet
Dim wksAkt As Worksheet
Dim intNameNr As Integer
Dim strKopie As String
Set wksAkt = ActiveSheet
'Startext für Name Blatt-Kopie
strKopie = InputBox("Datum eingeben!", "Datum ändern...", Left(wksAkt.Name, 11))
'neues Blatt einfügen
wksAkt.Copy after:=wksAkt
Set wksNeu = ActiveSheet
'Nummer des Neuen Namens ermitteln - Es wird die höchste Zählnummer der Namen ermittelt
intNameNr = 1
On Error GoTo Erhöhen
wksNeu.Name = strKopie & IIf(Right(strKopie, 1) = "_", intNameNr, Chr(intNameNr - 1 + Asc(" _
A")))
On Error GoTo 0
End
Erhöhen:
intNameNr = intNameNr + 1
Resume
End Sub
wie beschrieben, wenn im neuen Blattnamen das letze Zeichen ein "_" ist , wird die Nummer angehängt, ansonsten der Buchstabe.Um in Excel Tabellenblätter automatisch um 1 zu erhöhen oder hochzuzählen, kannst Du den folgenden VBA-Code verwenden. Dieser Code erstellt eine Kopie des aktiven Arbeitsblatts und fügt eine fortlaufende Nummer oder einen Buchstaben an den neuen Blattnamen an:
ALT + F11
, um den VBA-Editor zu öffnen.Private Sub CommandButton1_Click()
'Vorlagenblatt kopieren, einfügen und umbenennen mit fortlaufender Nr.
Dim wksNeu As Worksheet
Dim wksAkt As Worksheet
Dim intNameNr As Integer
Dim strKopie As String
Set wksAkt = ActiveSheet
'Startext für Name Blatt-Kopie
strKopie = InputBox("Datum eingeben!", "Datum ändern...", Left(wksAkt.Name, 11))
'neues Blatt einfügen
wksAkt.Copy after:=wksAkt
Set wksNeu = ActiveSheet
'Nummer des Neuen Namens ermitteln
intNameNr = 1
On Error GoTo Erhöhen
wksNeu.Name = strKopie & IIf(Right(strKopie, 1) = "_", intNameNr, Chr(intNameNr - 1 + Asc(" _A")))
On Error GoTo 0
End
Erhöhen:
intNameNr = intNameNr + 1
Resume
End Sub
Fehler: "Blattname ist ungültig"
Fehler: "Das Blatt kann nicht kopiert werden"
Wenn Du keine VBA-Programmierung verwenden möchtest, kannst Du auch manuell neue Tabellenblätter hinzufügen und sie umbenennen, indem Du die vorhandenen Blätter kopierst und die Namen manuell anpasst. Dies kann jedoch zeitaufwändig sein, insbesondere wenn Du viele Blätter benötigst.
Beispiel 1: Wenn Dein aktives Blatt "Bericht" heißt und Du den Code ausführst, kannst Du als Eingabe "Bericht" verwenden. Das neue Blatt wird dann automatisch "Bericht_1" heißen.
Beispiel 2: Wenn Du das Blatt "Protokoll" kopierst und im Eingabefeld "Protokoll" eingibst, wird das neue Blatt "Protokoll_1" oder "Protokoll_A" heißen, abhängig von der vorherigen Blattbenennung.
1. Kann ich den VBA-Code anpassen, um andere Funktionen hinzuzufügen?
Ja, Du kannst den Code leicht anpassen, um beispielsweise zusätzliche Informationen in den Blattnamen einzufügen.
2. Funktioniert dieser Code in allen Excel-Versionen?
Der Code sollte in den meisten modernen Excel-Versionen ab Excel 2010 funktionieren, solange Makros aktiviert sind.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen