Ich möchte den Tabellenname (Standard Tabelle1) gleich dem Inhalt der Zelle A1 haben.
Besten Dank für Eure Hilfe
mfg
Peter
Sub Test()
ActiveSheet.Name=[A1]
End Sub
Sub Tabellenname()
ActiveSheet.Name = Cells(1, 1).Value
'Benennt das Tabellenblatt mit dem in Zelle A1 befindlichen Namen
End Sub
Um den Tabellenname in Excel automatisch auf den Inhalt der Zelle A1 zu setzen, kannst Du ein einfaches VBA-Makro verwenden. Folge diesen Schritten:
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
Füge den folgenden Code in das Modul ein:
Sub Tabellenname()
ActiveSheet.Name = Cells(1, 1).Value
End Sub
Schließe den VBA-Editor und kehre zu Excel zurück.
Um das Makro auszuführen, drücke ALT + F8, wähle Tabellenname aus und klicke auf Ausführen.
Optional kannst Du einen Shortcut für das Makro einrichten, indem Du im Menü Makro/Optionen eine Tastenkombination festlegst. So kannst Du den Tabellenname schnell ändern, ohne das Makro jedes Mal manuell ausführen zu müssen.
Fehler: Ungültiger Name
Wenn der Inhalt der Zelle A1 ungültige Zeichen für einen Tabellennamen enthält, wird eine Fehlermeldung angezeigt. Stelle sicher, dass der Name keine Sonderzeichen oder eine Länge von mehr als 31 Zeichen hat.
Fehler: Makro nicht gefunden
Wenn Du das Makro nicht finden kannst, stelle sicher, dass Du es im richtigen Modul gespeichert hast. Überprüfe auch, ob die Makros in den Excel-Einstellungen aktiviert sind.
Wenn Du kein VBA verwenden möchtest, kannst Du auch die Formel-Funktion in Excel nutzen, um eine Art Verknüpfung zu erstellen. Allerdings kannst Du den Tabellenname nicht direkt so ändern. Eine Möglichkeit wäre, den Inhalt von Zelle A1 in eine andere Zelle zu kopieren, aber die Tabelle selbst kann nur durch VBA umbenannt werden.
Beispiel 2: Du kannst das Makro so anpassen, dass es vor dem Umbenennen überprüft, ob der neue Name bereits existiert, um Konflikte zu vermeiden.
Sub Tabellenname()
Dim newName As String
newName = Cells(1, 1).Value
On Error Resume Next
ActiveSheet.Name = newName
If Err.Number <> 0 Then
MsgBox "Der Name '" & newName & "' ist ungültig oder bereits in Verwendung."
End If
On Error GoTo 0
End Sub
Cells-Funktion anpasst.1. Wie kann ich den Tabellenname automatisch aktualisieren, wenn sich der Inhalt von Zelle A1 ändert?
Das ist mit VBA nicht direkt möglich, aber Du kannst das Makro beim Öffnen der Datei oder bei Änderungen in der Zelle A1 auslösen.
2. Funktioniert das Makro in allen Excel-Versionen?
Ja, das VBA-Makro sollte in den meisten Versionen von Excel funktionieren, die Makros unterstützen, wie Excel 2010 und später.