Microsoft Excel bietet Benutzern seit langem die Möglichkeit, „Makros“ zu schreiben – Teile des Programmiercodes, mit denen Benutzer sowohl einfache als auch fortgeschrittene Aufgaben automatisieren können. Der offizielle Name dieser Makros ist Visual Basic for Applications (VBA), da sie die Programmiersprache Visual Basic von Microsoft verwenden.
VBA-Makros sind äußerst leistungsstark und wir verwenden seit Jahrzehnten Excel-Makros und VBA, um Unternehmenssoftware für die Buchhaltung, den Einzelhandel, die Logistik, die Fertigung und Dutzende anderer Branchen zu erstellen.
Einer der Nachteile von Excel-Makros bestand darin, dass sie Excel für das Web nicht automatisieren konnten. Einen Schritt vorwärts in diese Richtung kündigte Microsoft mit der Einführung einer neuen webfreundlichen Version von Excel VBA namens „Office-Scripts“ an.
Office-Script vs. VBA: Wesentliche Unterschiede und Gemeinsamkeiten
Die Funktionsweise von Office-Scripts unterscheidet sich grundlegend von der von Excel VBA. Obwohl es unwahrscheinlich ist, dass Office-Scripte VBA jemals ersetzen werden, bietet es bestimmte Funktionen, die VBA nicht bieten kann. VBA und Office-Scripte bilden zusammen eine leistungsstarke Kombination.
Hier sind die wichtigsten Unterschiede und Gemeinsamkeiten zwischen diesen beiden leistungsstarken Technologien:
Programmiersprache
Desktop-Excel-Makros verwenden die Programmiersprache Visual Basic, die für Programmieranfänger tendenziell einfacher zu erlernen ist. Office-Script basiert auf JavaScript, der beliebtesten Programmiersprache der Welt, und wird heute auf praktisch jeder modernen Website verwendet.
Für Personen ohne Programmiererfahrung ist es schwieriger, JavaScript zu erlernen, und das Debuggen ist schwieriger.
Makroaufzeichnung
Die meisten Gelegenheitsbenutzer werden wahrscheinlich die Option „Makro aufzeichnen“ sowohl für die Desktop- als auch für die Webversion von Excel verwenden, um ihre Makros zu erstellen. Dieses Tool zum Aufzeichnen von Makros ist für Personen konzipiert, die nur über geringe oder gar keine Programmierkenntnisse verfügen.
Das Aufzeichnen von Makros ist für die einfache Büroautomation nützlich, für anspruchsvollere Arbeiten jedoch völlig unzureichend. Um die erweiterten Funktionen von Excel VBA und Office-Scripten nutzen zu können, sind Programmierkenntnisse unerlässlich.
Verfügbarkeit
Office-Scripts steht ausschließlich Benutzern mit einem Office 365-Abonnement für Unternehmen zur Verfügung.
Excel VBA kann von jedem mit einer gültigen Excel-Lizenz verwendet werden, einschließlich Lizenzen für den persönlichen Gebrauch.
Integration
Sowohl Excel VBA als auch Office-Scripte ermöglichen eine umfassende Integration zwischen Diensten, allerdings auf unterschiedliche Weise. Normalerweise ist Excel VBA die beste Wahl für Desktop-Integrationen und Office-Scripte eignen sich normalerweise besser für Web-Integrationen, aber es hängt alles vom Anwendungsfall ab.
Die Automatisierung von Office-Scripten wird durch das speziell entwickelte Power Automate-Tool von Microsoft erreicht.
Mit Power Automate können Benutzer Workflows zwischen webbasierten Apps erstellen. Microsoft bietet mehrere vorgefertigte Automatisierungen an, die jedoch je nach Anwendungsfall wahrscheinlich noch angepasst werden müssen.
Die Integration von Excel-VBA-Code mit vielen anderen Lösungen ist ebenfalls möglich, sogar mit Weblösungen. Mit nur wenigen Codezeilen lässt sich Excel auf dem Desktop in viele andere Tools integrieren, sowohl auf dem Desktop als auch im Web. Dies erfordert jedoch in der Regel fortgeschrittene Programmierkenntnisse.
Excel “events”
Mithilfe von VBA ist es möglich, umfassende Anwendungen mit Code zu erstellen, der auf der Grundlage von Excel-Ereignissen ausgelöst wird, beispielsweise dem Bearbeiten einer Zelle oder dem Öffnen einer Arbeitsmappe. Das bedeutet, dass VBA-basierte Arbeitsmappen wie erstklassige Desktop-Anwendungen funktionieren können. Das Erlebnis ist reibungslos und schnell.
Office-Scripts bietet keine dieser Funktionen. Um Office-Scripte auszuführen, müssen Benutzer entweder auf die entsprechende Skriptschaltfläche in ihrer Tabelle klicken oder Sie müssen das Skript mit in Power Automate definierten Triggern verbinden.
Die Möglichkeit, Skripte auf der Grundlage von Power Automate-Triggern auszuführen, eröffnet eine Vielzahl von Anwendungsfällen, deren Erstellung mit Excel VBA umständlich wäre, aber die fehlende Ereignisunterstützung schränkt den Nutzen von Office-Scripten als Tool zur Verbesserung der direkten Interaktion zwischen Benutzern ein und eine Tabellenkalkulation.
Geschwindigkeit
Office-Scripte sind extrem langsam, wenn Benutzer sie direkt ausführen. Wir haben ein einfaches Skript erstellt, um den Wert einer einzelnen Zelle per Knopfdruck zu aktualisieren, und die Ausführung dieser trivialen Aufgabe dauerte mehrere Sekunden.
Ein ähnliches Skript in Excel VBA würde in Mikrosekunden ausgeführt werden.
Für umfangreiche Verarbeitungsaufgaben, die auf mehr als ein paar Zeilen ausgeführt werden müssen, ist Excel VBA die offensichtliche Wahl. Wenn die Aufgabe im Rahmen einer Web-Automatisierung im Hintergrund ausgeführt werden kann, sind auch Office-Scripte eine Option.
Verweis auf andere Arbeitsmappen
Office-Scripte können nicht wie VBA auf andere Arbeitsmappen verweisen.
In VBA ist es möglich, auf beliebige Arbeitsmappen im Code zu verweisen und diese nach Ihren Wünschen zu bearbeiten. Mit Office-Scripts können Sie das Skript nur in der aktuellen Arbeitsmappe ausführen.
Es ist möglich, ein Office-Script in einer anderen Arbeitsmappe auszuführen, wenn es als Teil eines Power Automate-Flows definiert ist, aber die Struktur ist völlig anders und weitaus komplexer als in Excel VBA.
Wenn Sie mit Office-Scripten auf mehrere Arbeitsmappen verweisen möchten, sollten Sie einen Excel-Spezialisten engagieren, der Ihnen dabei hilft.
Debuggen von Code und Lesbarkeit des Codes
VBA bietet eine vollwertige Entwicklungsumgebung, mit der Entwickler problemlos wiederverwendbaren Code für große Anwendungen erstellen können. Office-Scripte sind auf einzelne Codeausschnitte beschränkt, die bei großen Projekten schnell unübersichtlich werden können.
Die umständliche Struktur von Office-Scripten ist wahrscheinlich der beste Hinweis darauf, dass Microsoft nie beabsichtigt hatte, VBA zu ersetzen, sondern es hauptsächlich mit Power Automate für anspruchsvolle Hintergrundverarbeitung zu verwenden.
Auch das Debuggen ist in Office-Scripten weitaus anspruchsvoller, da das Tool keine „Haltepunkte“ festlegen kann – Orte, an denen Programmierer den aktuell ausgeführten Code anhalten können, um zu überprüfen, was gerade passiert, bevor er fortfährt. Diese Funktion macht VBA zu einer der am einfachsten zu programmierenden Sprachen der Welt. Office-Scripte unterstützt dies nicht, was überraschend ist, da ähnliche Funktionen in anderen Online-Programmiertools erstellt wurden.
Möglicherweise wird Microsoft diese Funktion in Zukunft hinzufügen. Derzeit ist das Debuggen eine Aufgabe, die eher für erfahrene Webentwickler geeignet ist.
Wo Office-Scripte glänzen: Webbasierte Automatisierung mit Power Automate
Office-Scripte glänzt als Web-Automatisierungstool, das im Hintergrund läuft und webbasierte Tools über Trigger miteinander verbindet, um Daten zu verarbeiten. Mit Power Automate können Unternehmen Skripts erstellen, die eine Vielzahl von Aufgaben erledigen, wie zum Beispiel:
- Aktualisieren einer Excel-Arbeitsmappe, wenn ein Benutzer ein Online-Formular sendet.
- Aktualisieren einer Excel-Arbeitsmappe, wenn ein Benutzer eine E-Mail erhält.
- Automatisches Ausführen von Excel-Skripten, wenn eine Excel-Datei zu einer SharePoint-Bibliothek hinzugefügt wird.
- Verfolgen von Dateizugängen in SharePoint.
- Verbinden von Excel mit ChatGPT für erweiterte Verarbeitung.
- Scannen von zu OneDrive hinzugefügten Belegen und Einfügen der Details in eine Excel-Datei.
- PDFs erstellen und zur Signatur versenden.
- Gmail mit Excel verbinden.
- Anbindung von Social-Media-Kanälen an Excel.
- Und viele weitere Optionen.
Microsoft bietet bereits zahlreiche vorgefertigte Vorlagen an, mit denen Sie bekannte Web-Apps anbinden können. Ein erfahrener Programmierer kann diese Vorlagen dann mit erweitertem Office-Scriptcode in leistungsstarke Geschäftstools umwandeln oder mithilfe von Office-Scripten neue Kombinationen erstellen.
Es gibt auch eine Desktop-Version von Power Automate, mit der Benutzer Aktionen auf ihrem Desktop automatisieren können.
Können Sie vorhandene Excel-VBA-Makrodateien in webfreundliche Office-Scriptdateien konvertieren?
Kurz gesagt, nicht wirklich und schon gar nicht auf Knopfdruck.
Das Konvertieren einer vorhandenen Excel-VBA-Anwendung in eine Office-Scriptversion würde umfangreiche Arbeit von einem VBA- und Office-Scriptprogrammierer erfordern.
Viele Excel VBA-Anwendungen hängen stark von Ereignissen (Events) ab, und da Office-Script über keine Ereignisfunktionalität verfügt, muss dieser Code durch Schaltflächen ersetzt werden, auf die Benutzer klicken, oder durch Power Automate-Automatisierungen.
Die wahrscheinlich realistischste Lösung zum Konvertieren eines Excel-VBA-Projekts in Office-Scripte wäre die Erstellung einer Webversion mit weniger Funktionen, die parallel zur Desktop-Version funktioniert. Dies hängt jedoch von Ihrem spezifischen Anwendungsfall ab.
Werden Office-Scripte VBA ersetzen?
Office-Script wird VBA nicht ersetzen, ebenso wenig wie VBA nicht alles kann, was Office-Scripte tun. Die beiden Tools dienen im aktuellen Ökosystem unterschiedlichen Zwecken und funktionieren oft am besten, wenn sie zusammen verwendet werden.
Excel VBA eignet sich am besten für eine schnelle Verarbeitung und reibungslose Anwendungen, die auf Desktops ausgeführt werden. Office-Scripte eignen sich am besten für die webbasierte Automatisierung.
Auch wenn Benutzer unbedingt mit einer Webversion von Excel arbeiten müssen, füllt Office-Script eine Lücke, die dies nun bis zu einem gewissen Grad ermöglicht. Office-Script ist auch für Unternehmen nützlich, die Nicht-Windows-Betriebssysteme wie Linux oder MacOS verwenden, und ermöglicht es Benutzern dieser Betriebssysteme, Teile von Excel zu automatisieren.
VBA wird häufig in Geschäftsanwendungen eingesetzt, da Unternehmen damit im Vergleich zu anderen Programmiersprachen professionelle Desktop-Anwendungen in einem Bruchteil der Zeit erstellen können. Wenn Sie sich mit VBA-Programmierung auskennen, ist es möglich, Anwendungen zu erstellen, die das Look and Feel von professionell erstellten Apps haben, die in anderen fortgeschrittenen Sprachen geschrieben wurden.
Kompetente Entwicklung von Excel VBA Makros und Office-Scripten
Eppert Consulting entwickelt seit mehr als 20 Jahren professionelle Excel-VBA- und Webanwendungen. Unser Entwicklerteam verfügt über Erfahrung mit allen erforderlichen Technologien, um mithilfe von VBA oder Office-Scripten eine robuste Desktop- oder webbasierte Excel-App für Sie und Ihr Team zu erstellen.
Um mehr über unsere Dienstleistungen zu erfahren, kontaktieren Sie uns noch heute für ein unverbindliches Gespräch.