Referenzieren von Arbeitsblatt-Registerkarten (Microsoft Excel)
Myrna fragte, ob es eine Möglichkeit gebe, die Informationen auf einer Arbeitsblattregisterkarte in einer Zelle zu verwenden. Insbesondere benannte sie ihre Registerkarten mit Datumsangaben und möchte diese Datumsangaben im Arbeitsblatt selbst verwenden.
Es gibt zwei Möglichkeiten, dies zu tun. Wenn die Namen Ihrer Arbeitsblattregisterkarten nur aus Datumsangaben bestehen (kein anderer Text darin), können Sie das Datum mit der folgenden Excel-Formel extrahieren:
=MID(CELL("filename"),FIND("]",CELL("filename"),1)+1,10)
Dies funktioniert, weil die Funktion = CELL („Dateiname“) den vollständigen Pfad und Namen der aktuellen Datei zusammen mit dem Text auf der Registerkarte Arbeitsblatt zurückgibt.
Der Dateiname selbst wird in eckigen Klammern angezeigt. Die Formel ermittelt die Position der schließenden Klammer und extrahiert die ersten acht Zeichen von dieser Position bis zum Ende. (Daten können wie am 31.12.2011 in maximal 10 Zeichen ausgedrückt werden.)
Eine Einschränkung bei der Verwendung dieser Formel besteht darin, dass nur dann Wertwerte zurückgegeben werden, wenn Sie die Arbeitsmappe zuerst speichern. Wenn Sie es in einer brandneuen, nicht gespeicherten Arbeitsmappe verwenden, wird ein # VALUE-Fehler zurückgegeben.
Ein weiterer Ansatz, der sehr ansprechend ist, insbesondere wenn Sie zusätzlichen Text auf der Registerkarte Arbeitsblatt haben, ist das Erstellen einer benutzerdefinierten Funktion. Angenommen, Ihre Arbeitsblatt-Registerkarten haben den Namen „Monatsende 10-31-11“. In diesem Fall können Sie eine Funktion wie die folgende verwenden:
Function SheetName() As Date Dim sTab As String Application.Volatile sTab = ActiveSheet.Name sTab = Trim(Right(sTab, 8)) SheetName = CDate(sTab) End Function
Um diese Funktion in Ihrem Arbeitsblatt zu verwenden, geben Sie einfach Folgendes in eine Zelle ein:
=SheetName()
Die Funktion gibt eine Datums-Seriennummer zurück, sodass Sie die Zelle mit einem der verfügbaren Datumsformate formatieren müssen. Die Funktion funktioniert, da davon ausgegangen wird, dass das Datum die letzten 8 Zeichen des Textes auf der Registerkarte Arbeitsblatt sind. Wenn Ihre Arbeitsblattregisterkarten eine andere Namenskonvention verwenden (z. B. das Datum am Anfang der Registerkarte platzieren oder 10 Ziffern für das Datum verwenden), müssen Sie den Namen im Makro nur anders auseinander ziehen.
_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 (1951) 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: