Programmierung in Office

Was ist VBA?

Visual Basic for Applications

VBA, kurz für Visual Basic for Applications, ist die in Office eingebaute Programmiersprache, mit der du Abläufe in Excel, Word, Outlook und Access steuerst und eigene Funktionen schreibst.

Sobald ein Ablauf entscheiden, mehrere Dateien anfassen oder auf Fehler reagieren soll, reicht die Aufzeichnung nicht mehr und du landest im Editor.

KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Steht für
Visual Basic for Applications
Editor öffnen
Mit Alt und F11
Läuft nicht in
Excel und Word im Browser
Verwechselt mit
Visual Basic .NET

Editor, Prozeduren, Objektmodell

VBA-Code steht im Visual Basic Editor, den du mit Alt und F11 öffnest. Er liegt dort in Modulen und ist in Prozeduren gegliedert: Sub für einen Ablauf ohne Rückgabewert, Function für eine eigene Tabellenfunktion, die du danach wie SUMME in einer Zelle aufrufen kannst.

Gearbeitet wird mit dem Objektmodell der jeweiligen Anwendung. In Excel sind das Workbook, Worksheet, Range und ihre Eigenschaften, in Word Document und Selection. Wer dieses Modell versteht, kommt schneller voran als über das Auswendiglernen einzelner Befehle, denn der Aufbau ist in allen Office-Programmen derselbe.

Wofür VBA sich lohnt

Der klassische Fall ist die Brücke zwischen Programmen: Daten aus einer Datenbank holen, in Excel aufbereiten, daraus Serienbriefe in Word erzeugen und über Outlook verschicken. Solche Ketten laufen mit VBA in einem Durchgang, weil eine Office-Anwendung die andere fernsteuern kann.

Der zweite Fall sind Dinge, die die Oberfläche nicht anbietet: eine Arbeitsmappe je Abteilung aufsplitten, alle Blätter nach einer Regel formatieren, beim Speichern eine Prüfung durchlaufen lassen. Über Ereignisprozeduren reagiert dein Code auf das Öffnen einer Datei oder die Änderung einer Zelle.

Womit du rechnen musst

Aufgezeichneter Code ist ein guter Einstieg, aber selten guter Code. Der Rekorder schreibt jede Bewegung mit, arbeitet über Select und Activate und ist deshalb langsam und anfällig. Der erste Lernschritt besteht meist darin, aufgezeichnete Zeilen in direkte Zugriffe auf Bereiche umzuschreiben.

Makros laufen nur, wenn die Datei als Arbeitsmappe mit Makros gespeichert ist und die Ausführung erlaubt wurde, sei es über einen vertrauenswürdigen Speicherort, eine gültige Signatur oder die bewusste Freigabe in der Sicherheitsleiste. In vielen Unternehmen sperren Richtlinien Makros aus dem Internet grundsätzlich. Das ist kein Fehler, sondern Absicht, weil Office-Makros ein verbreiteter Angriffsweg sind.

KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Nicht verwechseln

VBA und was oft damit gleichgesetzt wird

VBA gegen Makro

Ein Makro ist die aufgezeichnete Abfolge von Handgriffen, VBA ist die Sprache, in der diese Aufzeichnung gespeichert wird. Jedes Makro ist VBA-Code, aber längst nicht jeder VBA-Code entsteht durch Aufzeichnen.

VBA gegen Office-Skripte

Office-Skripte sind der neuere Weg für Excel im Browser und laufen auch dort, wo kein Desktop-Office installiert ist. VBA bleibt der Desktop-Weg und kann dafür auf andere Programme und auf das Dateisystem zugreifen.

VBA gegen Power Automate

Wenn ein Ablauf mehrere Onlinedienste verbindet und ohne geöffnete Datei laufen soll, ist ein Flow die passendere Wahl. VBA spielt seine Stärke innerhalb der Office-Anwendung aus.

KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
In der Praxis

Die halbe Arbeit ist das Objektmodell, nicht die Sprache

Die Sprache selbst ist an einem Nachmittag gelesen: Variablen, Bedingungen, Schleifen, Prozeduren. Zeit kostet das Objektmodell, also die Frage, wie Arbeitsmappe, Tabellenblatt, Bereich und Zelle zusammenhängen und welche Eigenschaften und Methoden sie mitbringen. Wer das einmal verstanden hat, findet sich in Word und Outlook nach demselben Muster zurecht.

In gewachsenen Abteilungen ist VBA selten neu. Meistens gibt es eine Datei, die seit Jahren läuft, und niemanden mehr, der sie geschrieben hat. Dann geht es nicht ums Programmieren, sondern ums Lesen: Haltepunkte setzen, im Einzelschritt durchgehen, Zwischenwerte im Direktfenster ausgeben, bis klar ist, an welcher Stelle die Annahme von damals nicht mehr stimmt.

Zwei Kleinigkeiten trennen ein Skript von etwas, das andere benutzen können. Option Explicit am Anfang sorgt dafür, dass ein Tippfehler im Variablennamen sofort auffällt, statt still eine leere Variable zu erzeugen. Und eine Fehlerbehandlung sagt dem Anwender, was schiefgelaufen ist, statt ihn im geöffneten Debugger stehen zu lassen.

VBA lernen

Vom ersten aufgezeichneten Makro bis zum Datenaustausch zwischen mehreren Programmen führen die Excel-Programmierkurse in mehreren Stufen.

Soll der Ablauf ohne geöffnete Datei laufen, sind die Kurse zu Flows und eigenen Apps der passendere Einstieg.

Wissen prüfen

Sitzt VBA schon?

Lesen fühlt sich schnell nach Können an. Ein kurzer Test zeigt dir, was davon schon sitzt und wo sich ein Kurs lohnt. Kostenlos, ohne Anmeldung, mit einer Erklärung zu jeder Antwort.

Der passende Lernpfad

Wenn du nicht nur ein Thema abhaken, sondern eine Rolle ausfüllen willst, zeigt dir der Lernpfad die Kurse in der Reihenfolge, in der sie aufeinander aufbauen.

Karrierepfad

Excel Entwicklung & Programmierung

Wer Excel noch manuell bedient, verschenkt Potenzial. Wer VBA beherrscht, diktiert die Spielregeln.  

Dieser Lernpfad ist der Schritt vom Power-User zum echten Problemlöser: Automatisierung statt Klickorgien, saubere Logik statt Workarounds. Warte nicht, bis jemand anders die besseren Tools baut – mach Excel jetzt zu deiner eigenen Entwicklungsumgebung und verschaff dir einen technischen Vorsprung, den andere nicht haben!

Häufige Fragen

Ist VBA noch aktuell?
Microsoft entwickelt die Sprache kaum weiter, hat sie aber auch nicht entfernt, und in Unternehmen laufen sehr viele Lösungen darauf. Für neue Vorhaben im Browser oder in der Cloud sind Office-Skripte und Power Automate die zeitgemäßeren Werkzeuge.
Kann ich VBA lernen, ohne vorher programmiert zu haben?
Ja, das ist der übliche Weg. Hilfreich ist, dass du das Ergebnis sofort siehst und mit F8 Zeile für Zeile durch den Code gehen kannst. Aneignen musst du dir Variablen, Schleifen und Bedingungen, also die Grundbegriffe jeder Programmierung.
Läuft VBA auch auf dem Mac?
In den Desktop-Versionen für macOS ja, mit Einschränkungen beim Zugriff auf das Dateisystem und auf Windows-Bibliotheken. Code, der zwischen beiden Welten wandern soll, verzichtet besser auf solche Aufrufe.

Passt thematisch dazu

Manche Aufgabe, für die früher eine eigene Prozedur nötig war, erledigt inzwischen der eingebaute Assistent, und die nüchterne Bilanz zu Copilot in den Office-Anwendungen zeigt, wo er dabei trotzdem aussteigt.

Persönlich für dich da

Deine Ansprechpartner

Du willst das Thema nicht nur nachschlagen, sondern anwenden können? Wir beraten dich persönlich und kostenlos.

Yves Hoppe

Yves Hoppe

Weiterbildung & Beratung

Ordnet mit dir ein, welcher Kurs zu deinem Vorwissen passt.

Norbert Jansen

Norbert Jansen

Beratung & Inhouse

Plant Inhouse-Trainings, die an euren eigenen Daten und Abläufen ansetzen.

VBA im Kurs statt im Lexikon

Nachschlagen bringt dich bis zum Verstehen. Anwenden lernst du an echten Aufgaben.