Office Script: Tabellenblätter ansprechen
In diesem Beitrag erkläre ich, wie man in Office Script Tabellenblätter anspricht. Dabei zeige ich den Unterschied zwischen getWorksheet("Tabellenname") und getActiveWorksheet(), sowie die Einschränkungen im Vergleich zu VBA.
EXCELOFFICE SCRIPT
9/18/20252 min read


Office Script: Tabellenblätter ansprechen
Heute habe ich mir angeschaut, wie man in Office Script auf bestimmte Tabellenblätter zugreifen kann. In VBA war ich es gewohnt, mit Codenamen zu arbeiten, das gibt es in Office Script aber nicht. Codenamen hatten den Vorteil, das es egal war, ob man den sichtbaren Namen des Tabellenblattes änderte oder nicht. Der Code funktionierte trotzdem.
Mein Aha-Moment
Es gibt zwei wichtige Wege, um ein Tabellenblatt auszuwählen:
workbook.getWorksheet("Tabellenname")
Damit greife ich direkt über den Namen auf ein bestimmtes Blatt zu. Wichtig: Der Name muss exakt stimmen! Ändert jemand den Tabellennamen, funktioniert der Code nicht mehr.workbook.getActiveWorksheet()
Damit hole ich mir das aktuell aktive Tabellenblatt. Also genau das, was gerade im Vordergrund geöffnet ist.
Erklärung
In VBA konnte ich über Codenamen arbeiten (Tabelle1, Tabelle2 usw.). Diese Möglichkeit gibt es in Office Script nicht.
Das bedeutet: Wenn ich auf ein bestimmtes Tabellenblatt angewiesen bin, muss ich den Namen so festlegen, dass er nicht versehentlich geändert wird. Eine gute Praxis ist es, kritische Blätter zu sperren oder zu verstecken.
Ein ausgeblendetes Blatt kann trotzdem mit getWorksheet("Tabellenname") angesprochen werden. Es spielt also keine Rolle, ob es sichtbar ist oder nicht. Ein Vorteil gegenüber VBA. Denn hier gibt es bereits erste Einschränkungen innerhalb der B2B Lizenzen. So wurde bei uns auf Arbeit Makros untersagt, ausgeblendete Tabellenblätter anzusteuern. Dies hatte anfangs zu unerwarteten Verhalten der Makros geführt.
Mein Fazit
Das Arbeiten mit Tabellenblättern in Office Script ist einfach, erfordert aber mehr Disziplin als in VBA. Da es keine Codenamen gibt, ist die Verwaltung der Tabellennamen entscheidend. Wer sicherstellen will, dass Skripte dauerhaft laufen, sollte wichtige Blätter klar benennen und gegen Veränderungen absichern.
Weitere interessante Beiträge:
Wie kann ich die Position eines Tabellenblattes via Office Script ändern?
Wie kann ich ein Tabellenblatt in Excel mit office Script einfügen?






