Abwägung zwischen VBA und Python für Excel-Anwendungen

In vielen Unternehmen ist Excel nicht nur ein Werkzeug – es ist ein Betriebssystem für Planung, Reporting und Ad-hoc-Analysen. Und wenn Prozesse in Excel „zu langsam“ oder „zu manuell“ sind, heißt die Antwort oft: „Dann bauen wir eben ein Makro.“

Entsprechend hat VBA (Visual Basic for Applications) unzählige Controlling-Prozesse automatisiert:

  • Imports aus CSV/ERP-Exports
  • Aktualisierung von Pivot-Tabellen
  • Erstellung von Reports, PDFs, E-Mail-Versand
  • Datenbereinigung
  • Standardisierter Monatsabschluss

Aber: Die Rahmenbedingungen haben sich verändert. Datenbestände sind größer, Systeme vernetzter, Sicherheitsanforderungen strenger – und Microsoft selbst verschiebt den Schwerpunkt in Richtung Cloud- und Plattform-Ökosystem. In diesem Umfeld gewinnt Python an Bedeutung.

Die zentrale Frage lautet daher nicht „VBA oder Python“, sondern: Welche Rolle spielt VBA künftig – und wo ist Python strategisch überlegen?

Was VBA im Controlling so stark gemacht hat

VBA wurde im Controlling groß, weil es drei Anforderungen erfüllte:

Nähe zu Excel (der größte Vorteil)

VBA ist direkt in Excel eingebettet:

  • Zugriff auf Arbeitsmappen, Blätter, Zellen, Pivot-Objekte
  • Benutzeroberflächen (UserForms)
  • Ereignisse (Workbook_Open, Worksheet_Change)
  • sehr gut geeignet für „Excel als Anwendung“

Wenn Ihr Prozess vor allem bedeutet, Excel zu manipulieren, ist VBA immer noch sehr effizient.

Automatisierung ohne IT-Ticket

Viele Fachbereiche konnten mit VBA Lösungen bauen, ohne:

  • Serverzugriff
  • Datenbankfreigaben
  • Entwicklungstools
  • Deploymentprozesse

Das war ein enormer Produktivitätshebel – hat aber auch Schattenseiten.

Schnelle Wirkung bei wiederkehrenden Routinen

Für das monatliche Reporting sind jedes Mal die gleichen Schritte in Excel durchzuführen:

  • Daten importieren
  • sortieren, filtern, berechnen
  • Pivot refresh
  • Charts exportieren

Das passiert automatisch, wenn ein entsprechendes VBA-Makro erstellt ist.

Warum VBA an Grenzen stößt

VBA stößt in typischen Situationen an strukturelle Grenzen.

Architektur: lokal, dateibasiert, schwer skalierbar

VBA läuft in der Regel lokal auf dem Client, innerhalb einer Excel-Datei und abhängig von Excel-Version, Add-ins und lokalen Einstellungen. Das führt zu Problemen wie:

  • der Ruf des Anwenders: „Bei mir läuft es, bei dir nicht.“
  • Abhängigkeiten von Pfaden, Netzlaufwerken, Zugriffsrechten
  • Performanceprobleme bei großen Datenmengen
  • keine echte Skalierung

Governance: schwer zu kontrollieren

Viele Organisationen haben „Makro-Wildwuchs“:

  • Makros ohne Dokumentation
  • Abhängigkeit von Einzelpersonen
  • keine Versionsverwaltung
  • keine standardisierten Tests
  • kein zentraler Betrieb

Für Management und Revision ist das oft ein Risiko:

  • nicht nachvollziehbare Berechnungslogik
  • schwer prüfbare Ergebnisse
  • hohes Risiko, von einzelnen Personen abhängig zu sein

Sicherheit: Makros sind ein bekanntes Einfallstor

VBA-Makros sind seit Jahren ein Sicherheitsthema. Viele Unternehmen:

  • blockieren Makros standardmäßig
  • erlauben sie nur signiert
  • reduzieren Ausführungsrechte

Das ist aus Sicherheits- und Compliance-Sicht nachvollziehbar – senkt aber die Alltagstauglichkeit von VBA.

Microsoft hat zwar weiterhin den Support für VBA nicht eingestellt, aber durch die Standard-Blockierung von Makros aus dem Internet (seit 2022) haben sich die Hürden für Makros massiv erhöht.

Des Weiteren führt das Mark of the Web (MotW) dazu, dass digital nicht signierte Makros oft gar nicht mehr starten – ein administrativer Albtraum für unvorbereitete Abteilungen.

Datenanalyse: VBA ist nicht für moderne Analyseverfahren gebaut

VBA kann Daten verarbeiten, aber moderne Analyseverfahren wie Zeitreihen, Machine Learning oder statistische Modelle führen aus diesen Gründen zu hohem Aufwand:

  • kaum Standardbibliotheken
  • wenig Komfort für DataFrames oder Tabellenoperationen
  • begrenzte Visualisierungsmöglichkeiten 
  • wenig Anschlussfähigkeit an moderne Datenplattformen

Warum Python in Unternehmen so stark wächst

Python ist im Business-Kontext deshalb beliebt, weil es die Lücken schließt, die VBA offenlässt.

Python ist ein Ökosystem, nicht nur eine Sprache

Python punktet durch Bibliotheken, die für Business Analytics Standard sind:

  • pandas (Tabellen und Datenaufbereitung)
  • numpy (numerische Berechnungen)
  • matplotlib / plotly (Visualisierung)
  • scikit-learn (Machine Learning)
  • statsmodels (Statistik, Zeitreihen)
  • Openpyxl  oder XlsxWriter (Excel-Dateien schreiben, ohne dass Excel installiert sein muss)

Damit wird Python zur Werkzeugkiste für:

  • saubere Datenpipelines (ETL)
  • reproduzierbare Analysen
  • komplexe Kennzahlenlogik
  • Simulationen und Forecasts

Datenlogik statt Zelllogik

Excel denkt in Zellen. Python denkt in Tabellenobjekten.

Beispiel: Der Python-Befehl, um den Deckungsbeitrag zeilenweise über eine ganze Tabelle zu berechnen, lautet:

df["Deckungsbeitrag"] = df["Umsatz"] - df["variable_Kosten"]

Was bewirkt das?

  • Es wird für jede Zeile automatisch Umsatz minus variable Kosten gerechnet.
  • Kein Formelkopieren, kein „Zeile vergessen“, keine Inkonsistenzen.
  • Die Logik ist als Code klar dokumentiert und wiederholbar.

Skalierbarkeit und Anschlussfähigkeit

Python ist anschlussfähig an:

  • Datenbanken (SQL)
  • APIs (Webservices)
  • Cloud-Plattformen
  • Data Warehouses

Das heißt: Python kann dort arbeiten, wo die Daten entstehen – nicht erst, wenn sie als Export in Excel liegen.

Ist das „Ablösung“ oder „Evolution“?

In der Praxis ist es fast immer Evolution – mit einer klaren Rollenverteilung. Excel bleibt stark als:

  • Frontend für Fachbereiche
  • Visualisierung und Kommunikation
  • Planungs- und Szenario-Modelle
  • „letzte Meile“ der Entscheidungsvorbereitung

Python wird stark als:

  • Datenaufbereitung (ETL)
  • Massendatenanalyse
  • Automatisierung und Wiederholbarkeit
  • Statistik, Forecasting, Simulation
  • komplexe Logik und Datenqualität

Microsoft hat Python direkt in Excel integriert (derzeit im Rollout). Das ist ein Argument für die „Evolution“, da die Welten verschmelzen.

Governance: Der Gamechanger – und oft das Management-Argument

Wenn Unternehmen über VBA versus Python sprechen, geht es häufig vordergründig um Technik. Aber tatsächlich geht es um die Steuerbarkeit. Typische Governance-Probleme bei VBA sind:

  • Makro hängt an einer Datei
  • unklare Zuständigkeiten
  • Änderungen ohne Versionierung
  • fehlende Tests
  • schwer nachvollziehbare Logik

Die Governance-Vorteile durch Python (bei sauberer Umsetzung) sind:

  • Code ist versionierbar (Git)
  • Änderungen nachvollziehbar
  • Tests möglich
  • Deployment und Standards besser umsetzbar
  • Rollenmodell (Fachbereich/IT) sauber definierbar

Gerade im Controlling ist das wichtig, weil Zahlen nicht nur „stimmen“, sondern nachvollziehbar zustande kommen müssen. VBA-Lösungen sind oft das Paradebeispiel  für Shadow IT (Schatten-IT). Python ermöglicht durch Code-Reviews den Weg zurück in eine kontrollierte IT-Struktur.

Was bedeutet das für Fachbereiche?

Sie müssen VBA nicht abschaffen. Viele VBA-Lösungen sind sinnvoll, stabil und haben sich bezahlt gemacht. Abschaffen wäre meist teuer und unnötig.

Sie sollten aber gezielt modernisieren. Ob und wo das notwendig und hilfreich sein kann, klären Sie mit diesen Fragen zur Einordnung:

  • Verarbeitet der Prozess große Datenmengen?
  • Gibt es viele manuelle Schritte?
  • Ist die Logik prüfungsrelevant?
  • Gibt es Risiken wegen Abhängigkeit von einer Person?
  • Soll der Prozess skalieren oder in Workflows laufen?

Wenn Sie mehrere Male „Ja“ sagen, ist das ein klares Signal: Python ist eine strategische Option.

Tipp

Woran erkenne ich, dass mein Prozess bereit für Python ist?

  • Die Excel-Datei braucht länger als 30 Sekunden zum Öffnen oder Berechnen.
  • Mehr als drei verschiedene Datenquellen werden manuell zusammengeführt.
  • Der Prozess wird von verschiedenen Personen an verschiedenen Standorten genutzt.
  • Statistische Prognosen (Forecasting) werden benötigt.

Upskilling: Welche Kompetenz ist realistisch?

Niemand muss sofort Data Scientist werden. Ein realistisches Zielbild ist:

  • Grundverständnis von DataFrames (Tabellenlogik) schaffen
  • Basisoperationen durchführen: filtern, gruppieren, aggregieren
  • einfache KPI-Berechnungen erstellen
  • Verständnis für Datenqualität und Reproduzierbarkeit entwickeln

Fazit

VBA bleibt – aber Python wird zum strategischen Standard. VBA ist sinnvoll, wenn es darum geht:

  • Excel zu steuern,
  • Benutzerinteraktionen in Excel zu automatisieren oder
  • bestehende, stabile Makroprozesse weiter zu nutzen.

Python wird zur strategischen Ergänzung, wenn es darum geht:

  • große Datenmengen effizient zu verarbeiten,
  • Reportingprozesse reproduzierbar zu machen,
  • moderne Analytics (Forecast, Statistik, Simulation) zu nutzen oder
  • Governance und Transparenz zu erhöhen.

Die Zukunft ist nicht „VBA oder Python“, sondern der Einsatz von Excel als Business-Frontend, von Python als Daten- und Analyse-Engine, und dort, wo Excel-Automation nötig ist, bleibt VBA (oder moderne Alternativen) ein Werkzeug im Portfolio.

Dazu im Management-Handbuch

Vorlagen nutzen

Weitere Kapitel zum Thema