Tabellenblatt kopieren und umbenennen mit VBA
Schritt-für-Schritt-Anleitung
Um ein Excel-Tabellenblatt zu kopieren und den Namen über eine InputBox einzugeben, kannst Du folgendes VBA-Makro verwenden:
-
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Klicke auf Einfügen
> Modul
, um ein neues Modul zu erstellen.
-
Füge folgenden Code in das Modul ein:
Sub Makro1()
Dim strName As String
ActiveSheet.Copy After:=Sheets(Sheets.Count)
strName = InputBox("Name des neuen Blattes - oder klicke OK, um zu kopieren")
If Not strName = "" Then
ActiveSheet.Name = strName
Else
Exit Sub
End If
End Sub
-
Schließe den VBA-Editor und gehe zurück zu Excel.
-
Drucke ALT + F8
, wähle Makro1
aus und klicke auf Ausführen
.
Jetzt wird das aktuelle Tabellenblatt kopiert und Du kannst einen neuen Namen vergeben.
Häufige Fehler und Lösungen
- Laufzeitfehler 1004: Dieser Fehler tritt auf, wenn der Name, den Du eingeben möchtest, ungültig ist. Achte darauf, dass der Name keine Sonderzeichen oder bereits existierenden Tabellennamen enthält.
-
InputBox zeigt keinen aktuellen Namen an: Um dem Benutzer den Namen des zu kopierenden Blattes als Vorschlag anzuzeigen, kannst Du den Code anpassen:
strName = InputBox("Name des neuen Blattes - oder klicke OK, um zu kopieren", "Neuer Name", ActiveSheet.Name & " (1)")
Alternative Methoden
Du kannst auch die Funktion vba tabellenblatt kopieren und umbenennen
in Kombination mit einer Schleife nutzen, um die Tabellennamen automatisch zu nummerieren, falls der Name bereits existiert:
Sub Makro1()
Dim strName As String
Dim i As Integer
ActiveSheet.Copy After:=Sheets(Sheets.Count)
strName = ActiveSheet.Name
i = 1
Do While Not IsError(Evaluate("'" & strName & " (" & i & ")" & "'!A1"))
i = i + 1
Loop
ActiveSheet.Name = strName & " (" & i & ")"
End Sub
Praktische Beispiele
- Excel VBA Arbeitsblatt kopieren: Wenn Du ein Arbeitsblatt kopieren und umbenennen möchtest, kannst Du das gleiche Makro verwenden, um die Funktionalität zu erweitern.
- Excel Reiter duplizieren: Verwende dieses Makro, um beliebige Reiter in Deinem Excel-Dokument zu duplizieren, ideal für Vorlagen oder Berichte.
Tipps für Profis
- Modulare Programmierung: Halte Deinen VBA-Code modular, um die Wartung zu erleichtern. Erstelle separate Funktionen für das Kopieren und Umbenennen von Tabellenblättern.
- Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um Laufzeitfehler besser zu managen und um den Benutzer zu informieren, falls etwas schiefgeht.
FAQ: Häufige Fragen
1. Wie kann ich ein Excel Makro Tabellenblatt kopieren?
Du kannst das oben beschriebene VBA-Makro verwenden, um ein Tabellenblatt zu kopieren und einen neuen Namen zu vergeben.
2. Was mache ich, wenn der Name bereits existiert?
Das angepasste Beispiel im Abschnitt „Alternative Methoden“ zeigt, wie Du automatisch einen neuen Namen mit einer Zählung generierst, falls der Name bereits existiert.
3. Funktioniert dieses Makro in allen Excel-Versionen?
Dieses Makro sollte in den meisten modernen Excel-Versionen ab Excel 2007 funktionieren. Achte darauf, dass Du die Makros in den Excel-Einstellungen aktiviert hast.