VBA Coding Standards: Namenskonventionen, Kommentare & Struktur
Praxisbewährte Standards für lesbaren, wartbaren VBA-Code: Namenskonventionen, Kommentare, Modulstruktur – inklusive Praxisfall und Checkliste.
Sauberer, konsistenter Code ist kein Selbstzweck – er reduziert Fehler, erleichtert Teamarbeit und beschleunigt Wartung sowie Erweiterung. Dieser Leitfaden bündelt praxisbewährte Standards für Namenskonventionen, Kommentare und Modulstruktur. Inklusive Praxisfall und Checklisten zum direkten Einsatz.
1) Namenskonventionen – lesbar, auffindbar, konsistent
Gute Namen sind die beste Dokumentation. Ziel: Aussagekräftig, eindeutig, einheitlich.
1.1 Variablen & Konstanten
camelCasefür lokale Variablen:kundenAnzahl,letzteZeilePascalCasefür öffentliche Prozeduren/Funktionen:ExportMonatsreport- Präfixe sparsam und bewusst nutzen (optional):
rng(Range),ws(Worksheet),wb(Workbook),dic(Dictionary)
- Konstanten in UPPER_CASE:
CONST MAX_ROWS As Long = 1048576
Option Explicit Private Const MAX_ROWS As Long = 1048576 Sub ExportMonatsreport() Dim wsQuell As Worksheet, wsZiel As Worksheet Dim letzteZeile As Long, kundenAnzahl As Long Set wsQuell = Worksheets("Export") Set wsZiel = Worksheets("Report") letzteZeile = wsQuell.Cells(wsQuell.Rows.Count, 1).End(xlUp).Row kundenAnzahl = WorksheetFunction.CountA(wsQuell.Range("A2:A" & letzteZeile)) End Sub
1.2 Prozeduren, Funktionen, Module
- Verben für Prozeduren:
Berechne…,Pruefe…,Erzeuge… - Nomen für Module:
mdlImport,mdlReport,mdlFormat - Ein Modul = ein Thema
2) Kommentare – warum, nicht was
Kommentare erklären Absicht und Annahmen, nicht offensichtliche Syntax.
✅ Besser so
' Prüft nur aktive Kunden, weil inaktive nicht für den Monatsreport relevant sind If kundenStatus = "aktiv" Then Call VerarbeiteKunde(kundennr)
❌ Schlechte Kommentare
' Schleife über i For i = 1 To n
Tipp: Nutzen Sie Kopfkommentare pro Prozedur (Zweck, Parameter, Rückgabewerte, Seiteneffekte).
'---------------------------------------------- ' Zweck : Berechnet den Monatsumsatz pro Kunde ' Param : kundennr (Long) ' Returns : Double (Umsatz) ' Hinweis : Nutzt Blatt "Daten", Spalte D = Umsatz '---------------------------------------------- Function UmsatzProKunde(ByVal kundennr As Long) As Double ' ... End Function
3) Struktur & Architektur – kleine, testbare Einheiten
- Single Responsibility: Jede Prozedur/Funktion erledigt genau eine Aufgabe.
- Eingaben / Ausgaben klar halten; Nebenwirkungen minimieren.
- Schichten denken: Import → Validierung → Verarbeitung → Ausgabe.
Beispielstruktur
/mdlImport ' Dateiauswahl, Einlesen
/mdlValidation ' Daten prüfen & normalisieren
/mdlTransform ' Geschäftslogik
/mdlExport ' Ausgabe (Excel, CSV, PDF)
4) Praxisfall – von „Schnell mal gebaut“ zu „Standard-konform“
Ausgangslage: Ein 600-Zeilen-Makro importiert CSV, prüft Daten und erstellt einen Report. Häufige Bugs, schwer wartbar.
Refactoring-Ziele
- Aufteilen in Module/Prozeduren je Aufgabe
- Sprechende Namen & Kopfkommentare
- Fehlerbehandlung einziehen
Vorher (Auszug)
Sub DoAll() ' ... 600 Zeilen gemischter Code, keine Fehlerbehandlung ... End Sub
Nachher (Ausschnitt)
Sub ErzeugeMonatsreport() Dim pfad As String pfad = WähleDateiCSV() Dim daten As Variant daten = ImportiereCsv(pfad) daten = ValidiereDaten(daten) DatenNachReport daten End Sub
Ergebnis: Weniger Fehler, bessere Wiederverwendbarkeit, deutlich kürzere Einarbeitungszeit für neue Entwickler.
5) Checkliste – Standards im Alltag verankern
| Bereich | Standard | Quick-Check |
|---|---|---|
| Namen | sprechend, konsistent, Verb/Nomen-Regeln | ✅/❌ |
| Kommentare | Absicht + Annahmen, Kopfkommentare | ✅/❌ |
| Struktur | Single Responsibility, Schichten | ✅/❌ |
| Fehlerbehandlung | zentral, klar kommunizierende Meldungen | ✅/❌ |
| Performance | Array-In/Out, keine Select/Activate | ✅/❌ |
Fazit
Standards sind kein Korsett – sie ermöglichen schnelleren, sicheren VBA-Code. Beginnen Sie heute mit Namen, Kommentaren und Struktur – der Rest folgt fast von allein.
Code-Generierung
Automatische VBA-Code-Erstellung durch natürliche Sprache
Code-Analyse
Code verstehen und dokumentieren
Debugging
Intelligente Fehlerfindung und -behebung
Code-Verbesserung
Optimierung und Fehlerbehandlung
UI-Design
UserForms über natürliche Sprache erzeugen
Snippet-Verwaltung
Über 100 vorgefertigte Code-Bausteine
Weitere Artikel
Mit dem VBA Assistant schneller ans Ziel
Lassen Sie sich Best Practices vorschlagen, Code erklären und automatisch verbessern.
