Sheet Eigenschaften (Name) mit VBA ändern
Schritt-für-Schritt-Anleitung
Um den Namen eines Excel-Arbeitsblatts mit VBA zu ändern, kannst Du die folgenden Schritte befolgen:
-
Öffne den VBA-Editor:
- Drücke
ALT + F11 in Excel, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu:
- Klicke mit der rechten Maustaste auf
VBAProject (DeineDatei.xlsx) > Einfügen > Modul.
-
Schreibe den VBA-Code:
-
Führe den Code aus:
- Klicke auf
Run (oder drücke F5), um das Skript auszuführen.
-
Überprüfe den neuen Namen:
- Wechsle zurück zu Excel und überprüfe, ob der Name des Arbeitsblatts erfolgreich geändert wurde.
Häufige Fehler und Lösungen
-
Fehler: "Laufzeitfehler 1004":
- Ursache: Der Arbeitsblattname ist bereits vorhanden.
- Lösung: Wähle einen einzigartigen Namen für das Arbeitsblatt.
-
Fehler: "Das Arbeitsblatt konnte nicht gefunden werden":
- Ursache: Der Name des Arbeitsblatts wurde falsch eingegeben.
- Lösung: Überprüfe die Schreibweise des Arbeitsblattnamens.
-
Fehler: "Das VBA-Projekt ist geschützt":
- Ursache: Das VBA-Projekt ist mit einem Passwort geschützt.
- Lösung: Entferne den Schutz des Projekts, um den Code auszuführen.
Alternative Methoden
Wenn Du den Arbeitsblattnamen nicht über VBA ändern möchtest, kannst Du folgendes tun:
-
Manuelle Änderung:
- Klicke mit der rechten Maustaste auf den Tab des Arbeitsblatts und wähle
Umbenennen.
-
Über die Eigenschaften:
- Wähle das Arbeitsblatt aus, gehe zu den
Eigenschaften und ändere den Name-Wert dort.
Praktische Beispiele
Hier sind einige Beispiele, wie man den Namen eines Arbeitsblatts mit VBA ändern kann:
Sub RenameSheet()
' Ändert den Namen des ersten Arbeitsblatts
ThisWorkbook.Sheets(1).Name = "Erstes Blatt"
' Ändert den Namen eines bestimmten Arbeitsblatts
ThisWorkbook.Worksheets("Tabelle2").Name = "Zweites Blatt"
End Sub
Wenn Du den CodeName eines Arbeitsblatts ändern möchtest, kannst Du den folgenden Code verwenden:
Sub ChangeCodeName()
ThisWorkbook.VBProject.VBComponents("Tabelle1").Properties(5).Value = "NeuerCodeName"
End Sub
Beachte, dass dieser Code nur bei ungeschützten VBA-Projekten funktioniert.
Tipps für Profis
-
Verwende Variablen: Anstatt den Namen direkt im Code zu schreiben, könntest Du den neuen Namen in einer Variablen speichern:
Dim neuerName As String
neuerName = "MeinNeuerName"
ThisWorkbook.Worksheets("Tabelle1").Name = neuerName
-
Fehlerbehandlung: Füge Fehlerbehandlung hinzu, um unerwartete Probleme zu vermeiden:
On Error Resume Next
ThisWorkbook.Worksheets("Tabelle1").Name = "NeuerName"
If Err.Number <> 0 Then
MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
End If
On Error GoTo 0
FAQ: Häufige Fragen
1. Kann ich den Namen eines Arbeitsblatts auch in einer Schleife ändern?
Ja, Du kannst eine Schleife verwenden, um mehrere Arbeitsblätter nacheinander umzubenennen.
2. Was ist der Unterschied zwischen dem Tabellennamen und dem CodeName?
Der Tabellennamen ist der Name, der im Excel-Interface angezeigt wird, während der CodeName im VBA-Editor verwendet wird und nicht geändert werden kann, es sei denn, Du tust dies manuell im VBA-Editor.
3. Funktioniert dieser Code in allen Excel-Versionen?
Die Beispiele hier sollten in den meisten modernen Excel-Versionen funktionieren, insbesondere ab Excel 2003.