Excel-Makros ablösen: wann und womit
Wann sich das Ablösen eines Excel-Makros lohnt, welche Alternativen es gibt – Office Scripts, Power Query, Python, Workflows – und wie der Umstieg gelingt.
- Veröffentlicht
- Autor
- Mario Gvozden
- Lesezeit
- 7 Minuten
- Leistung
- Dokumente & Daten
In vielen Unternehmen gibt es diese eine Arbeitsmappe. Sie heißt Auswertung_final_NEU.xlsm, liegt auf einem Netzlaufwerk, und wenn man auf den Knopf „Aktualisieren“ klickt, passiert etwas Wichtiges. Was genau, weiß im Detail oft nur noch die Person, die das Makro vor Jahren geschrieben hat. Oder niemand mehr.
VBA-Makros haben unzählige Abläufe in kleinen Unternehmen möglich gemacht, und viele davon laufen bis heute zuverlässig. Es gibt keinen Grund, ein funktionierendes Makro aus Prinzip zu ersetzen. Es gibt aber gute Gründe, es zu tun, wenn bestimmte Anzeichen zusammenkommen.
Woran Sie erkennen, dass ein Makro zum Risiko wird
- Nur eine Person kann das Makro starten oder versteht, was es tut.
- Es muss jemand Excel öffnen und auf einen Knopf drücken, obwohl der Ablauf jeden Tag gleich ist.
- Das Makro bricht auf manchen Rechnern ab, etwa wegen unterschiedlicher Office-Versionen oder Spracheinstellungen.
- Sie wollen die Datei in Excel im Browser oder in Teams nutzen. Dort laufen VBA-Makros nicht.
- Dateien mit Makros werden blockiert, wenn sie aus dem Internet oder per E-Mail kommen. Microsoft hat das Standardverhalten hier verschärft, und das Freischalten führt regelmäßig zu Rückfragen.
- Das Makro greift auf feste Pfade zu, etwa
S:\Buchhaltung\Export.csv, und bricht, sobald sich ein Laufwerk ändert. - Wenn etwas schiefgeht, gibt es keine Meldung. Man merkt es erst, wenn die Zahlen nicht stimmen.
Trifft nur einer dieser Punkte zu, reicht oft eine kleine Reparatur. Treffen mehrere zu, lohnt es sich, über eine Ablösung nachzudenken.
Wann Sie das Makro besser behalten
Ein Makro, das einmal im Quartal von einer erfahrenen Kollegin ausgeführt wird, stabil läuft und gut kommentiert ist, muss nicht ersetzt werden. Ebenso wenig ein Makro, das im Wesentlichen die Bedienung erleichtert, etwa Formatierungen setzt oder Blätter einblendet. Eine Ablösung kostet Zeit und birgt eigene Risiken. Sie sollte ein konkretes Problem lösen.
Die Alternativen im Überblick
| Ersatz | Geeignet für | Voraussetzungen | Grenzen |
|---|---|---|---|
| Power Query | Daten aus Dateien oder Datenbanken laden, bereinigen, zusammenführen | In Excel enthalten | Keine Aktionen wie E-Mails versenden oder Dateien verschieben |
| Office Scripts | Abläufe innerhalb einer Arbeitsmappe, auch zeitgesteuert über Power Automate | Microsoft 365 mit entsprechender Business-Lizenz, Datei in OneDrive oder SharePoint | Kein Zugriff auf lokale Dateien, kein Ersatz für Formulare |
| Python-Skript | Komplexe Berechnungen, große Datenmengen, mehrere Quellen | Ein Rechner oder Server, auf dem das Skript läuft | Für Fachanwender weniger zugänglich |
| Workflow (n8n, Make, Power Automate) | Abläufe über mehrere Systeme: E-Mail, Cloud-Speicher, Buchhaltung | Konto im jeweiligen Werkzeug | Komplexe Rechenlogik wird schnell unübersichtlich |
| Kleine Web-Anwendung oder Datenbank | Wenn die Arbeitsmappe eigentlich eine Mehrbenutzer-Anwendung ist | Hosting und Pflege | Deutlich mehr Aufwand |
Ein häufiges Muster ist eine Kombination: Power Query übernimmt das Laden und Bereinigen der Daten, ein Office Script oder ein Workflow erledigt die Aktionen danach, etwa das Versenden eines Berichts.
Power Query: der unterschätzte Kandidat
Viele Makros tun im Kern nichts anderes als: CSV-Datei öffnen, Spalten löschen, Werte umrechnen, mit einer zweiten Liste abgleichen, Ergebnis in ein Blatt schreiben. Genau dafür ist Power Query gemacht. Jeder Schritt wird protokolliert und ist im Abfrage-Editor nachvollziehbar. Für die Aktualisierung genügt ein Klick, ohne dass Makros erlaubt werden müssen.
Office Scripts: VBA-Nachfolger für die Cloud
Office Scripts sind in TypeScript geschrieben und laufen in Excel im Web. Über Power Automate lassen sie sich zeitgesteuert oder durch ein Ereignis starten, ohne dass jemand die Datei öffnet. Für Abläufe, die innerhalb einer Arbeitsmappe bleiben, sind sie der naheliegende Nachfolger. Prüfen Sie aber vorher, ob Ihre Microsoft-365-Lizenz sie abdeckt und ob die Datei in OneDrive oder SharePoint liegen darf.
Python oder Workflow: wenn Excel nur noch Ausgabeformat ist
Wenn das Makro Daten aus mehreren Quellen holt, rechnet und das Ergebnis verschickt, ist Excel oft nur noch das Ausgabeformat. Dann ist ein Skript oder ein Workflow, der regelmäßig läuft und bei Fehlern meldet, die robustere Lösung. Die Ergebnisdatei kann trotzdem eine Excel-Datei sein.
So läuft eine Ablösung ohne böse Überraschungen
1. Bestandsaufnahme
Bevor etwas ersetzt wird, muss klar sein, was das Makro tatsächlich tut. Dazu gehört nicht nur der Hauptablauf, sondern auch das, was nebenbei passiert:
- Welche Dateien, Blätter und benannten Bereiche liest es?
- Was schreibt es, und wohin?
- Verschickt es E-Mails über Outlook, druckt es, speichert es Kopien?
- Gibt es Formulare (UserForms) mit Eingaben?
- Welche Annahmen stecken drin, etwa zur Spaltenreihenfolge oder zum Datumsformat?
2. Beispieldaten und erwartetes Ergebnis sichern
Lassen Sie das Makro mit echten, gegebenenfalls anonymisierten Daten laufen und sichern Sie Eingabe und Ergebnis. Das ist der Maßstab für die neue Lösung. Abnahmekriterium ist dann ganz konkret: Mit denselben Eingaben entsteht dasselbe Ergebnis.
3. Nachbauen und automatisch vergleichen
Der Vergleich sollte nicht per Augenschein erfolgen. Ein kleines Skript vergleicht die beiden Ergebnisse Zelle für Zelle:
import pandas as pd
alt = pd.read_excel("ergebnis_makro.xlsx", sheet_name="Auswertung")
neu = pd.read_excel("ergebnis_neu.xlsx", sheet_name="Auswertung")
# Gleiche Spalten, gleiche Reihenfolge der Zeilen
alt = alt.sort_values(list(alt.columns)).reset_index(drop=True)
neu = neu.sort_values(list(neu.columns)).reset_index(drop=True)
unterschiede = alt.compare(neu)
print("Keine Abweichungen" if unterschiede.empty else unterschiede)
Typische Abweichungen, die dabei auffallen: Rundungsunterschiede, weil VBA und andere Sprachen unterschiedlich runden; Datumswerte, die als Text statt als Datum ankommen; Leerzeichen am Zeilenende.
4. Parallelbetrieb
Lassen Sie alte und neue Lösung für einige Durchläufe parallel laufen. Erst wenn die Ergebnisse übereinstimmen, wird das Makro abgeschaltet.
5. Altes Makro archivieren, nicht löschen
Die alte Arbeitsmappe kommt in ein Archiv, mit Datum und einem Hinweis, wodurch sie ersetzt wurde. Falls in einigen Monaten eine Frage zur alten Berechnung aufkommt, ist sie noch da.
Fallstricke, die oft übersehen werden
- Ländereinstellungen: Ein Makro, das auf einem deutschen Excel mit Komma als Dezimaltrennzeichen geschrieben wurde, verhält sich auf einem englischen System anders. Eine neue Lösung sollte Formate ausdrücklich festlegen.
- Versteckte Abhängigkeiten: Verweise auf andere Arbeitsmappen, ausgeblendete Blätter, Add-ins.
- Berechnungsmodus: Manche Makros schalten die automatische Berechnung ab und vergessen, sie wieder einzuschalten.
- Fehlerbehandlung:
On Error Resume Nextüberspringt Fehler stillschweigend. Die neue Lösung sollte Fehler melden statt sie zu verschlucken.
Dokumentation gehört dazu
Der größte Gewinn einer Ablösung ist oft nicht die Automatisierung selbst, sondern dass danach jemand weiß, was passiert. Eine kurze Beschreibung reicht: Was wird wann ausgeführt, woher kommen die Daten, wohin geht das Ergebnis, wer wird bei Fehlern benachrichtigt, und wie startet man den Ablauf von Hand, falls nötig.
Häufige Fragen
Muss ein funktionierendes Excel-Makro ersetzt werden?
Nein. Ein Makro, das stabil läuft, gut kommentiert ist und von einer erfahrenen Person ausgeführt wird, kann bleiben. Eine Ablösung lohnt sich, wenn mehrere Warnzeichen zusammenkommen: Nur eine Person versteht es, es bricht auf manchen Rechnern ab, es soll in Excel im Browser laufen oder Fehler bleiben unbemerkt.
Was ist der Nachfolger von VBA in Microsoft 365?
Für Abläufe innerhalb einer Arbeitsmappe sind Office Scripts der naheliegende Nachfolger: Sie laufen in Excel im Web und lassen sich über Power Automate zeitgesteuert starten. Für das Laden und Bereinigen von Daten ist Power Query oft die bessere Wahl. Prüfen Sie vorher, ob Ihre Lizenz Office Scripts abdeckt und ob die Datei in OneDrive oder SharePoint liegen darf.
Wie stelle ich sicher, dass die neue Lösung dasselbe Ergebnis liefert wie das Makro?
Sichern Sie vorher Eingabe und Ergebnis des Makros mit echten, gegebenenfalls anonymisierten Daten und vergleichen Sie die neue Lösung damit Zelle für Zelle, am besten per Skript statt per Augenschein. Danach laufen alte und neue Lösung einige Durchläufe parallel; erst wenn die Ergebnisse übereinstimmen, wird das Makro abgeschaltet.
Ein VBA-Makro als Skript, Office Script oder Workflow nachzubauen, ist eine typische Aufgabe im Prozess-Abo. Das Abnahmekriterium: Ihre Beispieldaten liefern dasselbe Ergebnis wie das Makro. Sie teilen die Arbeitsmappe mit Beispieldaten über einen Ordner mit uns und legen die Aufgabe als Karte auf Ihr Board. 48 Stunden nach Start (gezählt Mo 8 – Fr 16 Uhr) liefern wir den Nachbau in den Unterordner „Ergebnis“ oder als deaktivierten Workflow, mit einer kurzen Beschreibung, wie Sie ihn starten. Ein Senior-Entwickler hat die Lieferung vorher geprüft und freigegeben. Ein umfangreiches Makro teilen wir in mehrere Aufgaben auf, etwa Laden und Bereinigen getrennt vom Versand. Ändern sich später Ihre Daten oder Systeme, legen Sie die Anpassung als neue Karte an. Die erste Aufgabe erledigen wir kostenlos, eine pro Unternehmen. Mehr dazu unter Dokumente & Daten und im Leistungskatalog.
Die erste Aufgabe ist kostenlos – eine pro Unternehmen. Sie legen einen Workspace an, geben Zugang per Einladung und schreiben die Aufgabe auf Ihr Board. Wir liefern sie 48 Stunden nach Start, gezählt Mo 8 bis Fr 16 Uhr: Start am Montag um 10 Uhr – Lieferung am Mittwoch um 10 Uhr. Jede Lieferung prüft und gibt ein Senior-Entwickler frei, bevor sie zu Ihnen geht.
Danach im Prozess-Abo: Sie schreiben Aufgaben aufs Board und bestimmen die Reihenfolge, wir setzen sie um. Prozess-Abo 1: 1.000 € im Monat, 1 Aufgabe gleichzeitig in Arbeit, bis zu 1 Aufgaben pro Monat; Prozess-Abo 2,5: 2.500 € im Monat, 1 Aufgabe gleichzeitig in Arbeit, bis zu 4 Aufgaben pro Monat; Prozess-Abo 5: 5.000 € im Monat, 1 Aufgabe gleichzeitig in Arbeit; Prozess-Abo 10: 10.000 € im Monat, 2 Aufgaben parallel in Arbeit. Gezählt werden die Aufgaben, die wir im Abrechnungsmonat beginnen; eine Nachbesserung zählt nicht neu. Nicht genutzte Aufgaben verfallen am Monatsende. Preise zzgl. MwSt., nur für Unternehmen, monatlich kündbar – das Abo beginnt nur, wenn Sie es bestellen.
Fragen vorab oder mehr Aufgaben parallel? Im kostenlosen Projekt-Check (30 Minuten) klären wir das, auch für ein individuelles Abo.