Office Script: Tabellenblätter verschieben

In diesem Beitrag zeige ich, wie man in Office Script die Reihenfolge von Tabellenblättern ändert. Mit setPosition(0) kann man ein Blatt an den Anfang verschieben. Wichtig: Die Position wird über einen Index gesteuert, der bei 0 beginnt.

EXCELOFFICE SCRIPT

9/18/20251 min read

Office Script: Tabellenblätter verschieben

Heute habe ich gelernt, wie man die Reihenfolge der Tabellenblätter in Office Script ändern kann. In VBA war das oft ein Klick mit der Maus oder ein Befehl wie Sheets("Tabelle3").Move. In Office Script funktioniert das mit einer Methode namens setPosition().

Mein Aha-Moment

Wenn ich ein bestimmtes Blatt nach vorne holen möchte, schreibe ich zum Beispiel:

workbook.getWorksheet("Tabelle3").setPosition(0)

Damit verschiebe ich „Tabelle3“ an die erste Stelle in der Leiste. Die Position wird über den Index angegeben. Man beginnt bei 0 an zu zählen. Sollte es die Position nicht geben, entsteht im Script ein Fehler und der Code wird nicht weiter ausgeführt.

Erklärung

  • setPosition() erwartet eine Indexposition.

  • Die Zählung beginnt bei 0 (nicht bei 1).

  • Position 0 bedeutet: Das Tabellenblatt kommt ganz nach links, also an den Anfang.

  • Mit setPosition(2) würde ich das Blatt an die dritte Stelle setzen.

Ein weiterer wichtiger Punkt: Ändere ich den Namen eines Blattes, funktioniert getWorksheet("Name") nicht mehr. Ich muss also sichergehen, dass kritische Blätter feste Namen haben.

Mein Fazit

Mit setPosition() lässt sich die Reihenfolge der Tabellenblätter sauber steuern. Man muss nur darauf achten, bei der angestrebten Position mit 0 anzufangen zu zählen.

Weitere interessante Beiträge.

Wie füge ich Tabellenblätter in Office Script ?

Wie kann ich einzelne Tabellenblätter in Office Script ansprechen?

Office Script Tabellenblätter verschieben
Office Script Tabellenblätter verschieben