Lektionen/Grundlagen

VBA in Access — Erste Schritte

Einsteiger8 Min. Lesezeit

VBA (Visual Basic for Applications) ist die Programmiersprache, die in Microsoft Access steckt. Damit automatisierst du alles, wofür die Oberfläche zu langsam oder zu starr ist: Daten prüfen, Formulare steuern, Berichte erzeugen, Importe fahren.

Diese Lektion bringt dich von null bis zur ersten laufenden Prozedur.

Den VBA-Editor öffnen

Der VBA-Editor (kurz VBE) ist ein eigenes Fenster innerhalb von Access. Du erreichst ihn auf zwei Wegen:

  • Tastenkürzel Alt + F11 — funktioniert überall in Access.
  • Über das Menüband: Datenbanktools → Visual Basic.

Damit du Code-Fehler früh siehst, aktiviere einmalig die automatische Variablen- prüfung: Extras → Optionen → Variablendeklaration erforderlich. Access setzt dann in jedes neue Modul die Zeile Option Explicit — die zwingt dich, jede Variable zu deklarieren, und erspart dir stundenlange Tippfehler-Suche.

Ein Modul anlegen

Code lebt in Modulen. Ein Standardmodul legst du im VBE so an:

Einfügen → Modul. Links im Projekt-Explorer taucht Modul1 auf.

Option Explicit

Public Sub Willkommen()
    MsgBox "Hallo aus VBA!", vbInformation, "Access"
End Sub

Zwei Dinge zum Merken:

  • Eine Sub ist eine Prozedur, die etwas tut, aber keinen Wert zurückgibt.
  • Public macht sie von überall aufrufbar. Private würde sie auf dieses Modul beschränken.

Ausführen

Setz den Cursor irgendwo in die Prozedur und drück F5 (oder Menü Ausführen → Sub/UserForm ausführen). Es erscheint eine Meldungsbox — deine erste laufende Automatisierung.

Werte zurückgeben: die Function

Wenn du ein Ergebnis berechnen willst, nimmst du eine Function statt einer Sub. Sie gibt einen Wert zurück, indem du dem Funktionsnamen etwas zuweist:

Public Function Netto(ByVal brutto As Double, ByVal satz As Double) As Double
    ' satz z. B. 0.19 für 19 % MwSt.
    Netto = brutto / (1 + satz)
End Function

Solche Funktionen kannst du sogar direkt in Abfragen oder Formular-Steuerelementen verwenden — Access kennt sie überall im Datenbankprojekt.

Das Direktfenster: dein Spielplatz

Mit Strg + G öffnest du das Direktfenster (Immediate Window). Dort testest du Ausdrücke sofort, ohne extra Prozedur. Ein ? steht für „gib das Ergebnis aus":

? Netto(119, 0.19)
' 100

Und aus dem Code heraus schreibst du mit Debug.Print Werte dorthin — das ist die schnellste Art, einem Ablauf beim Denken zuzuschauen:

Public Sub ZaehleHoch()
    Dim i As Long
    For i = 1 To 5
        Debug.Print "Schritt", i
    Next i
End Sub

Zusammengefasst

  • Editor: Alt+F11, Direktfenster: Strg+G, Ausführen: F5.
  • Option Explicit immer an — es fängt Tippfehler ab.
  • Sub tut etwas, Function liefert einen Wert zurück.
  • Debug.Print ist dein bester Freund beim Nachvollziehen.

In der nächsten Lektion machen wir aus deinem Code etwas, das du versionieren und mit echten Werkzeugen bearbeiten kannst — statt ihn in Access eingesperrt zu lassen.

Nächste Lektion
Variablen & Datentypen in VBA