Zellwert als Namen für Tabellenblatt verwenden

In einer Excel-Tabelle möchte ich in Zelle »A1« oder einer beliebigen anderen Zelle einen Wert eingeben können, um diesen dann als Namen für das aktuelle Tabellenblatt zu verwenden. Diese Möglichkeit sollte gleichzeitig in allen Tabellen der Arbeitsmappe bestehen.

Das funktioniert mit einem kurzen Makro im Code-Fenster für die gesamte Arbeitsmappe. Damit ist es für alle Tabellen verfügbar. Zuerst führen Sie »Extras | Makro | Visual Basic-Editor« aus. Dort finden Sie links im Projektexplorer den Eintrag »VBA-Projekt (Mappe1)« oder einen entsprechenden Eintrag für Ihre Arbeitsmappe. Klicken Sie auf das Pluszeichen links des Namens und dann auf das Pluszeichen vor dem jetzt sichtbaren »Microsoft Excel Objekte«. Mit einem Doppelklick auf »Diese Arbeitsmappe« öffnen Sie das Code-Fenster für die Eingabe Ihres Makros für alle Tabellen. Dort geben Sie folgende Makrozeilen ein oder kopieren sie von der Heft-CD, CHIP-Code Praxis02:

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Excel.Range, Cancel As Boolean) 

If Target.Row <> 1 Or Target.Column <> 1 Then Exit Sub
ActiveSheet.Name = Cells(1, 1).Value
Range(ôA2ô).Select
End Sub
Jetzt beenden Sie den VBA-Editor mit »Datei | Schließen und zurück zu Microsoft Excel«. Künftig können Sie in jeder Tabelle dieser Arbeitsmappe in Zelle »A1« einen Text eingeben. Nach einem Doppelklick auf diese Zelle übernimmt Excel den eingegebenen Wert als Tabellennamen. Beachten Sie, dass Sie keine leeren Zeichenfolgen verwenden können und dass jede Tabelle einen anderen Namen haben muss.