Office Scripts in ExcelGrundlagen, Funktionsweise und Vergleich mit VBA-Makros

Office Scripts bieten einfache Aufzeichnung, Wiederverwendbarkeit, Cloud-Integration und Workflow-Fähigkeit. VBA bleibt weiterhin leistungsfähig für komplexe Szenarien. Die Entscheidung hängt vom Anwendungsfall ab. Erfahren Sie an einem Beispiel, wie Office Scripts erstellt werden und was sie von VBA unterscheidet.

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.

Excel-Menü: Automatisieren mit Office Scripts

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:

  1. Greift auf die aktuelle Arbeitsmappe zu.
  2. Wählt ein Arbeitsblatt.
  3. Bestimmt einen Zellbereich.
  4. 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.

Menü-Funktion Neues Skript aufzeichnen

Am rechten Rand des Fensters öffnet sich der Aufgabenbereich Aktionen aufzeichnen. Hier wird der aktuelle Status zu der Aufzeichnung dargestellt.

Protokoll der Skript-Aufzeichnung in Excel

Zeichnen Sie nun die gewünschten Bearbeitungsschritte auf. Im Beispiel soll das Tabellenblatt geschützt werden.

Aktivieren Sie dazu im Menüband die Befehlsfolge Registerkarte Überprüfen > Befehlsgruppe Schützen > Befehl Blatt schützen.

Beispiel: Befehlsabfolge Blatt schützen

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

Blattschutz in Excel aktivieren

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

Skript-Aufzeichnung beenden

Sie bekommen dann das aufgezeichnete Skript im Aufgabenbereich angezeigt.

Ergebnis der Skript-Aufzeichnung

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.

Vorlagen nutzen

Excel-Tipps