Namen der Registerkarten für dynamische Arbeitsblätter (Microsoft Excel)
Sie wissen wahrscheinlich bereits, dass Sie den Namen einer Arbeitsblattregisterkarte ändern können, indem Sie auf die Registerkarte doppelklicken und einen neuen Namen eingeben. Was ist, wenn Sie es jedoch dynamisch machen möchten? Was ist, wenn der Wert in Zelle A1 automatisch als Registerkartenname angezeigt werden soll?
Leider bietet Excel keine intrinsische Funktion, um diese Art von Aufgabe zu erledigen. Es ist eine relativ einfache Aufgabe, eine solche Funktion mit einem Makro zu entwickeln, das die Arbeit für Sie erledigt. Das folgende Makro ändert beispielsweise den Namen der Registerkarte in den Inhalt von A1:
Sub myTabName() ActiveSheet.Name = ActiveSheet.Range("A1") End Sub
Zu diesem Makro sind einige wichtige Punkte zu beachten. Zunächst erfolgt keine Fehlerprüfung. Dies bedeutet, dass das Makro einen Fehler generiert, wenn A1 einen Wert enthält, der für einen Registerkartennamen unzulässig wäre (z. B. gar nichts oder mehr als 31 Zeichen). Zweitens muss das Makro manuell ausgeführt werden.
Was ist, wenn Sie ein robusteres Makro wünschen, das nach Fehlern sucht und automatisch ausgeführt wird? Das Ergebnis ist etwas länger, aber immer noch nicht allzu komplex:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) Set Target = Range("A1") If Target = "" Then Exit Sub On Error GoTo Badname ActiveSheet.Name = Left(Target, 31) Exit Sub Badname: MsgBox "Please revise the entry in A1." & Chr(13) _ & "It appears to contain one or more " & Chr(13) _ & "illegal characters." & Chr(13) Range("A1").Activate End Sub
Gehen Sie folgendermaßen vor, um dieses Makro einzurichten:
-
Öffnen Sie eine neue Arbeitsmappe mit nur einem Arbeitsblatt.
-
Klicken Sie mit der rechten Maustaste auf die Registerkarte Arbeitsblatt und wählen Sie im daraufhin angezeigten Kontextmenü die Option Code anzeigen. Excel zeigt den VBA-Editor an.
-
Fügen Sie das obige Makro in das Codefenster ein (oder geben Sie es ein).
-
Schließen Sie den VBA-Editor.
-
Suchen Sie den XLStart-Ordner auf Ihrem System. (Verwenden Sie die Windows-Suchfunktionen, um den Ordner zu finden.)
-
Speichern Sie die Arbeitsmappe als Excel-Vorlage unter dem Namen BOOK.XLT im XLStart-Verzeichnis. Dadurch wird die Vorlage zu Ihrem Muster für jede neue Arbeitsmappe, die Sie erstellen.
-
Speichern Sie die Arbeitsmappe erneut als Vorlage im selben Verzeichnis, diesmal unter dem Namen SHEET.XLT. Dadurch wird die Vorlage zum Muster für alle neuen Arbeitsblätter, die Sie in eine Arbeitsmappe einfügen.
-
Schließen Sie Excel und starten Sie es neu.
Jedes Mal, wenn Sie den Wert in Zelle A1 ändern, wird auch die Registerkarte Arbeitsblatt aktualisiert.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (2145) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: