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 = Falselä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.