Office Scripts in ExcelGrundlagen, Funktionsweise und Vergleich mit VBA-Makros
Mit regelmäßiger Nutzung von Excel steigt der Bedarf an Automatisierung. Viele Arbeitsschritte wiederholen sich und folgen einem festen Muster. Dann kann sich der Einsatz von Automatisierungstechnologien lohnen.
Neben den klassischen VBA-Makros bietet Microsoft mit Office Scripts eine Alternative, die speziell für die Microsoft-365-Umgebung entwickelt wurde.
Dieser Beitrag erläutert:
- Was Office Scripts sind
- Wie sie funktionieren
- Welche praktischen Einsatzmöglichkeiten bestehen
- Wo Gemeinsamkeiten und Unterschiede zu VBA-Makros liegen
- Wie die weitere Entwicklung einzuordnen ist
Automatisierung in Excel – Ausgangspunkt
Viele typische Excel-Aufgaben sind wiederkehrend:
- Daten aus ERP- oder CRM-Systemen importieren
- Spalten strukturieren
- Formatierungen anpassen
- Daten bereinigen
- Standardberichte erstellen
- Kennzahlen vorbereiten
Solche Prozesse bestehen oft aus mehreren Einzelschritten. Selbst wenn jeder Schritt nur wenige Sekunden dauert, summiert sich der Zeitaufwand erheblich.
Neben der Zeitersparnis spielt ein weiterer Aspekt eine große Rolle: Standardisierung. Automatisierte Abläufe sorgen für:
- Einheitliche Ergebnisse
- Reduzierte Fehlerquote
- Reproduzierbarkeit
- Dokumentierbarkeit von Prozessschritten
Excel bietet hierfür zwei Technologien:
- VBA-Makros
- Office Scripts
Während VBA seit den 1990er-Jahren existiert, sind Office Scripts eine neue Entwicklung.
Was sind Office Scripts?
Office Scripts sind Skripte zur Automatisierung von Aufgaben in Excel innerhalb von Microsoft 365. Sie ermöglichen es, definierte Arbeitsschritte automatisch auszuführen. Dabei können Scripts:
- manuell per Klick gestartet werden,
- in Workflows eingebunden werden und
- mehrfach in unterschiedlichen Dateien verwendet werden.
Technologische Grundlage der Office Scripts
Office Scripts basieren auf TypeScript, einer Weiterentwicklung von JavaScript. Im Hintergrund greifen Office Scripts auf eine Programmierschnittstelle (ExcelScript-API) zu. Diese API stellt Funktionen bereit, um:
- Arbeitsblätter zu steuern
- Zellbereiche auszuwählen
- Inhalte zu lesen oder zu verändern
- Formatierungen anzuwenden
- Tabellenobjekte zu erstellen
Für Anwender ist wichtig: Die Aufzeichnungsfunktion erzeugt den notwendigen Code automatisch.
Verfügbarkeit und Systemumgebung
Office Scripts sind verfügbar in:
- Excel für das Web
- Excel für Windows (Microsoft-365-Abonnement)
Sie sind nicht verfügbar in:
- Excel 2016 oder 2019 als Dauerlizenz
- älteren On-Premise-Installationen
Die Funktion befindet sich in der Registerkarte Automatisieren.
Ein wesentlicher Unterschied zu VBA liegt im Speicherort:
- VBA-Makros sind Bestandteil der Datei (.xlsm).
- Office Scripts werden im Benutzerkonto gespeichert.
Dadurch können Office Scripts unabhängig von einer einzelnen Datei verwendet werden.
Wie funktionieren Office Scripts technisch?
Ein Office Script folgt einer klar strukturierten Logik. Ein typisches Script:
- Greift auf die aktuelle Arbeitsmappe zu.
- Wählt ein Arbeitsblatt.
- Bestimmt einen Zellbereich.
- Führt Aktionen aus.
Beispiel:
function main(workbook: ExcelScript.Workbook) {
let sheet = workbook.getActiveWorksheet();
let range = sheet.getUsedRange();
range.getFormat().getFont().setBold(true);
}
Die Struktur ist systematisch aufgebaut:
- workbook repräsentiert die Arbeitsmappe
- getActiveWorksheet() greift auf das aktuelle Blatt zu
- getUsedRange() ermittelt den genutzten Bereich
- getFormat() als Formatierungsfunktion führt die Aktion aus
Das Objektmodell ähnelt in seiner Logik dem VBA-Objektmodell, ist jedoch moderner aufgebaut.
Erste Schritte mit Office Scripts
Das folgende Beispiel zeigt den Einsatz von Office Scripts an einem Beispiel. Es soll ein Skript erstellt werden, mit dem man den Blattschutz in einem Tabellenblatt aktivieren kann.
1. Script aufzeichnen
Aktivieren Sie im Menüband die Befehlsfolge Registerkarte Automatisieren > Befehl Neues Skript > Aus der Aufzeichnung erstellen.
Am rechten Rand des Fensters öffnet sich der Aufgabenbereich Aktionen aufzeichnen. Hier wird der aktuelle Status zu der Aufzeichnung dargestellt.

Es öffnet sich das Dialogfeld Blatt schützen. Bestätigen Sie hier die Voreinstellung und klicken Sie auf die Schaltfläche OK.

Der Bearbeitungsschritt wird automatisch im Aufgabenbereich am rechten Rand dargestellt. Stoppen Sie jetzt die Skript-Aufzeichnung, indem Sie im Aufgabenbereich auf Stopp klicken.

Sie bekommen dann das aufgezeichnete Skript im Aufgabenbereich angezeigt.

Excel generiert automatisch ein Skript. Über die Schaltflächen am unteren Ende können Sie den Code bearbeiten oder anzeigen lassen (Bearbeiten), den Skriptnamen ändern (Umbenennen) oder das Skript ausführen lassen (Ausführen).
Typische Anwendungsfälle
Office Scripts eignen sich besonders für:
- Standardisierung von Tabellenlayouts
- Automatisches Erstellen von Tabellen
- Entfernen leerer Zeilen
- Formatierung von Exportdateien
- Vorbereitung von Monatsreports
Der Zeitgewinn kann je nach Umfang erheblich sein.
Unterschiede zwischen VBA-Makros und Office Scripts
Auch wenn Office Scripts und VBA-Makros dasselbe Ziel verfolgen – nämlich die Automatisierung von Excel – unterscheiden sie sich in ihrer Architektur, technischen Grundlage und strategischen Ausrichtung grundlegend.
Ein genauer Blick hilft dabei, die jeweiligen Stärken besser einzuordnen.
Architektur – lokal und dateibasiert vs. cloudorientiert und kontobasiert
VBA (Visual Basic for Applications) ist tief in die Desktop-Version von Excel integriert, weil lokal und dateigebunden. Makros werden direkt in der jeweiligen Arbeitsmappe gespeichert. Damit sind sie:
- Bestandteil der Datei,
- an das Dateiformat (.xlsm oder .xlsb) gebunden und
- lokal ausführbar.
Das bedeutet: Öffnen Sie eine Datei mit Makros, ist der VBA-Code Bestandteil dieser Datei. Die Automatisierungslogik reist sozusagen mit dem Dokument mit.
Diese Architektur hat Vorteile:
- Makros sind direkt mit der Datei verknüpft.
- Sie können sehr individuell auf diese Datei zugeschnitten sein.
- Sie funktionieren vollständig offline.
Gleichzeitig entstehen aber auch Einschränkungen:
- Jede Datei enthält ihre eigene Makrologik.
- Versionierung und Wartung können aufwendig werden.
- Verteilung aktualisierter Makros ist organisatorisch anspruchsvoll.
Office Scripts verfolgen einen anderen Ansatz. Sie sind cloudorientiert und kontobasiert. Sie werden nicht in der Excel-Datei gespeichert, sondern im Microsoft-Konto des Anwenders. Das hat mehrere Konsequenzen:
- Ein Skript ist nicht an eine bestimmte Datei gebunden.
- Es kann in unterschiedlichen Arbeitsmappen verwendet werden.
- Die Datei selbst bleibt eine normale .xlsx-Datei.
Architektonisch betrachtet sind Office Scripts stärker serviceorientiert aufgebaut.
Sie greifen über eine moderne Programmierschnittstelle (API) auf Excel zu. Das passt zur Microsoft-365-Strategie:
- Dateien liegen häufig in OneDrive oder SharePoint.
- Mehrere Personen arbeiten parallel.
- Prozesse werden zunehmend zentral verwaltet.
Für Anwender bedeutet das: Office Scripts eignen sich besonders gut für standardisierte Abläufe, die in mehreren Dateien identisch ausgeführt werden sollen.
Programmiersprache – VBA vs. TypeScript
VBA ist eine proprietäre und klassische Office-Automatisierungssprache, die speziell für die Automatisierung von Microsoft-Office-Anwendungen entwickelt wurde.
Eigenschaften von VBA:
- Seit den 1990er-Jahren etabliert
- eng an das Office-Objektmodell gekoppelt
- sehr mächtig innerhalb der Desktop-Welt
- imperativ aufgebaut
VBA ist tief in Excel integriert. Das ermöglicht direkte Steuerungsmöglichkeiten, etwa:
- Zugriff auf Dateisysteme
- Interaktion mit Windows
- Steuerung anderer Office-Anwendungen
Allerdings basiert VBA auf einer älteren Technologiearchitektur. Es ist nicht webbasiert und nicht für moderne Cloud-Umgebungen konzipiert.
Office Scripts nutzen TypeScript – eine Weiterentwicklung von JavaScript. TypeScript ist:
- modern,
- objektorientiert,
- weitverbreitet in der Webentwicklung und
- stark typisiert.
Der Vorteil dieser Technologie:
- bessere Strukturierbarkeit
- klar definierte Schnittstellen
- moderne Entwicklungsumgebung
- gute Erweiterbarkeit
Für Anwender ist die konkrete Sprache oft weniger entscheidend. Relevant wird sie dann, wenn Code angepasst oder erweitert werden soll. Langfristig ist erkennbar, dass Microsoft auf webbasierte Technologien setzt. Office Scripts fügen sich nahtlos in diese Strategie ein.
Sicherheit – Makrowarnungen vs. Microsoft-365-Integration
VBA-Makros gelten aus Sicherheitsgründen als potenzielles Risiko. Beim Öffnen einer Datei mit Makros erscheint häufig eine Warnmeldung: „Makros wurden deaktiviert.“
Der Hintergrund: VBA-Code kann sehr weitreichende Aktionen ausführen – inklusive Zugriff auf lokale Dateien oder Systemressourcen. Das macht Makros leistungsfähig, aber auch anfällig für Missbrauch.
Unternehmen setzen daher oft restriktive Richtlinien ein:
- Makros werden standardmäßig deaktiviert.
- Nur signierte Makros sind erlaubt.
- Die Ausführung ist eingeschränkt.
Office Scripts sind in die Sicherheitsarchitektur von Microsoft 365 eingebettet. Das bedeutet:
- Zugriff erfolgt über definierte APIs.
- Kein direkter Zugriff auf lokale Systemressourcen.
- Ausführung innerhalb einer kontrollierten Umgebung.
Da Office Scripts primär auf Excel-Objekte zugreifen und nicht auf das Betriebssystem, ist das Risikoprofil anders gelagert. Das heißt nicht, dass keinerlei Sicherheitsaspekte bestehen – aber die Architektur ist stärker kontrolliert und servicebasiert.
Funktionsumfang – tiefe Systemintegration vs. Excel-Fokus
VBA bietet umfangreiche Möglichkeiten:
- Benutzerformulare (UserForms)
- Dialogfenster
- Zugriff auf lokale Dateien
- Steuerung anderer Office-Anwendungen
- Zugriff auf Windows-APIs
- Komplexe Ereignissteuerung
Damit lassen sich sehr individuelle Lösungen entwickeln – bis hin zu vollständigen Mini-Anwendungen innerhalb von Excel. Gerade bei historisch gewachsenen Lösungen ist VBA oft tief in Prozesse integriert.
Office Scripts konzentrieren sich primär auf Excel-interne Prozesse wie:
- Manipulation von Zellbereichen
- Tabellen
- Formatierungen
- Datenverarbeitung
- Strukturierung von Arbeitsmappen
Nicht vorgesehen sind derzeit:
- Klassische Benutzerformulare
- Direkter Zugriff auf lokale Dateien
- Tiefe Systeminteraktion
Das macht Office Scripts weniger flexibel im systemnahen Bereich, aber klarer fokussiert auf standardisierte Excel-Prozesse.
Integration in Workflows – lokale Automatisierung vs. Prozessintegration
Ein besonders relevanter Unterschied liegt in der Integration in übergeordnete Automatisierungsprozesse.
VBA ist traditionell auf lokale Automatisierung ausgelegt. Makros werden:
- beim Öffnen einer Datei,
- per Button oder
- über Ereignisse in Excel ausgeführt.
Zwar lassen sich auch mit VBA komplexe Automatisierungen erstellen, doch die Einbindung in cloudbasierte Workflow-Systeme ist nicht der ursprüngliche Fokus.
Office Scripts lassen sich direkt in Power Automate einbinden. Das ermöglicht Szenarien wie:
- Eine Datei wird in einen SharePoint-Ordner hochgeladen → Script läuft automatisch.
- Jeden Morgen wird ein Report erzeugt und per E-Mail versendet.
- Daten werden aus einer Excel-Datei verarbeitet und in ein anderes System übertragen.
Hier wird Excel Teil eines größeren, automatisierten Workflows. Office Scripts fungieren dabei als ausführendes Element innerhalb einer Prozesskette.
Zusammenfassung der Unterschiede VBA und Office Scripts
VBA und Office Scripts unterscheiden sich nicht nur technisch, sondern auch strategisch:
- VBA ist tief integriert, systemnah und dateibasiert
- Office Scripts sind API-basiert, cloud-orientiert und workflowfähig
Für Anwender bedeutet das:
- VBA bietet maximale Flexibilität im Desktop-Bereich
- Office Scripts bieten moderne Integration und Standardisierung
Beide Technologien haben ihre Berechtigung – jedoch in unterschiedlichen Kontexten.
Weitere Entwicklung von Office Scripts
Die Entwicklung von Office Scripts ist Teil einer größeren Transformation der Office-Produkte. Microsoft setzt zunehmend auf:
- Cloud-Integration
- Plattformunabhängigkeit
- API-basierte Erweiterbarkeit
- Vernetzung von Diensten
Office Scripts sind darauf ausgelegt, Excel in moderne Prozessketten einzubinden. Das bedeutet jedoch nicht das Ende von VBA. VBA bleibt relevant für:
- bestehende komplexe Lösungen
- Desktop-nahe Automatisierungen
- Spezialanwendungen
Langfristig ist jedoch erkennbar: Neue Automatisierungsfunktionen entstehen vor allem im Microsoft-365-Umfeld. Für Anwender ergibt sich eine realistische Perspektive:
- Bestehende Makros bleiben nutzbar.
- Neue Automatisierungen können mit Office Scripts aufgebaut werden.
- Beide Technologien ergänzen sich.





