VBA (Visual Basic for Applications) ist die Makrosprache der Microsoft-Office-Programme. Mit ihr automatisierst du Excel, Word und Access — von einfachen Zellberechnungen bis zu kompletten Berichts-Workflows.

Erste Schritte

VBA-Code wird im Visual Basic Editor (Alt+F11) geschrieben. Makros speicherst du in der Arbeitsmappe (als .xlsm-Datei) und startest sie über Alt+F8 oder ein Formular.

Sub HalloWelt()
    MsgBox "Hallo aus VBA"
End Sub

Variablen und Datentypen

Dim name As String
Dim zahl As Integer
Dim preis As Double
Dim ok As Boolean
name = "Lübeck"
zahl = 42

Zellen und Bereiche in Excel

Range("A1").Value = 100
Range("B1:B10").Value = "=ROW()*2"     ' Formel setzen
Cells(1, 3).Value = "C1"               ' Zeile 1, Spalte 3
Range("A1:D4").Interior.Color = RGB(200, 230, 255)
Worksheets("Daten").Activate

Kontrollstrukturen

If Range("A1").Value > 50 Then
    MsgBox "Groß"
Else
    MsgBox "Klein"
End If

For i = 1 To 10
    Cells(i, 1).Value = i
Next i

For Each zelle In Range("A1:A10")
    zelle.Font.Bold = True
Next zelle

Do While Range("A1").Value <> ""
    Range("A1").Offset(1, 0).Select
Loop

Schleifen über Tabellenblätter und Dateien

Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
    ws.Range("A1").Value = ws.Name
Next ws

Funktionen definieren

Function Flaeche(breite As Double, hoehe As Double) As Double
    Flaeche = breite * hoehe
End Function

' Aufruf: =Flaeche(5; 3) ergibt 15

Fehlerbehandlung

On Error Resume Next
Range("A1").Value = 1 / 0
If Err.Number <> 0 Then
    MsgBox "Fehler: " & Err.Description
    Err.Clear
End If

Praxis-Tipps

  • Makros in Arbeitsmappen speichern: Datei → Speichern unter → Excel-Makro-fähige Arbeitsmappe (.xlsm).
  • Mit Application.ScreenUpdating = False läuft VBA deutlich schneller.
  • Office blockiert Makros aus dem Internet standardmäßig — vertrauenswürdige Dateien explizit freigeben.

Verwandte Grundlagen: PowerShell-Befehle und Batch/CMD-Befehle.