Variable Tabellenblattnamen in Excel-Formeln nutzen
Schritt-für-Schritt-Anleitung
Um in Excel eine Formel mit einem variablen Tabellenblattnamen zu erstellen, kannst Du die Funktion INDIREKT nutzen. Diese Funktion ermöglicht es Dir, auf einen Tabellenblattnamen zuzugreifen, der in einer Zelle steht oder in der Formel selbst festgelegt wird. Hier ist, wie Du es machst:
-
Formel vorbereiten: Angenommen, Du möchtest auf Zellen im Tabellenblatt "Re" zugreifen und dabei den Namen des aktuellen Tabellenblatts variabel gestalten.
-
Formel eingeben: Verwende die folgende Formel:
=INDIREKT("Re!$C$11:$C$28='"&TEIL(ZELLE("Dateiname";$A$1);FINDEN("]";ZELLE("Dateiname";$A$1))+1;31)&"'!A10")
Diese Formel nutzt die ZELLE-Funktion, um den Namen des aktuellen Tabellenblatts abzurufen.
-
Blatt speichern: Stelle sicher, dass das Blatt bereits gespeichert ist, bevor Du die Formel verwendest, da die ZELLE-Funktion nur dann den korrekten Namen liefert.
Häufige Fehler und Lösungen
-
Fehler: #BEZUG!
Lösung: Dieser Fehler tritt auf, wenn das angegebene Tabellenblatt nicht existiert. Stelle sicher, dass der Tabellenblattname korrekt ist und das Blatt vorhanden ist.
-
Fehler: #WERT!
Lösung: Überprüfe, ob die INDIREKT-Funktion richtig verwendet wird und ob der Tabellenblattname tatsächlich in der Formel ermittelt werden kann.
Alternative Methoden
Wenn Du VBA (Visual Basic for Applications) verwendest, kannst Du den Namen des Tabellenblattes auch direkt als Variable definieren. Hier ein einfaches Beispiel:
Dim wsName As String
wsName = ActiveSheet.Name
Range("A1").Formula = "=" & wsName & "!B1"
Dies setzt voraus, dass Du mit Excel VBA vertraut bist und die entsprechenden Berechtigungen hast.
Praktische Beispiele
Nehmen wir an, Du hast ein Tabellenblatt mit dem Namen "Daten" und möchtest in einem anderen Blatt auf die Zelle A1 von "Daten" zugreifen. Du würdest die folgende Formel verwenden:
=INDIREKT("Daten!A1")
Falls Du den Namen des Tabellenblatts dynamisch ändern möchtest, speichere den Namen in einer Zelle, z.B. in B1, und verwende dann:
=INDIREKT(B1 & "!A1")
Tipps für Profis
-
Zelle als Referenz verwenden: Anstatt den Tabellenblattnamen direkt in die Formel einzufügen, speichere ihn in einer Zelle. Das macht Deine Formeln flexibler und einfacher zu warten.
-
Benutzerdefinierte Funktionen: Erstelle benutzerdefinierte VBA-Funktionen, um komplexere Logik zu implementieren und die Wiederverwendbarkeit Deiner Formeln zu erhöhen.
FAQ: Häufige Fragen
1. Kann ich eine variable Formel auch in VBA verwenden?
Ja, in VBA kannst Du Formeln mit variablen Blattnamen erstellen, indem Du die Formula-Eigenschaft eines Range-Objekts nutzt.
2. Gibt es Einschränkungen bei der Verwendung von INDIREKT?
Ja, die INDIREKT-Funktion funktioniert nur mit offenen Arbeitsmappen. Wenn das Arbeitsblatt geschlossen ist, kann die Formel nicht auf die Daten zugreifen.