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
VBA und was oft damit gleichgesetzt wird
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.
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.
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
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.
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.
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?
Kann ich VBA lernen, ohne vorher programmiert zu haben?
Läuft VBA auch auf dem Mac?
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.
Deine Ansprechpartner
Du willst das Thema nicht nur nachschlagen, sondern anwenden können? Wir beraten dich persönlich und kostenlos.
Yves Hoppe
Weiterbildung & Beratung
Ordnet mit dir ein, welcher Kurs zu deinem Vorwissen passt.
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.