Excel VBA AI Assistant LogoExcel VBA AI Assistant
    Best Practices
    VBA
    Code-Qualität
    Standards
    Empfohlen

    VBA Coding Standards: Namenskonventionen, Kommentare & Struktur

    Praxisbewährte Standards für lesbaren, wartbaren VBA-Code: Namenskonventionen, Kommentare, Modulstruktur – inklusive Praxisfall und Checkliste.

    VBA AI Team
    Veröffentlicht am 17. August 2025
    14 Min. Lesezeit

    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

    • camelCase für lokale Variablen: kundenAnzahl, letzteZeile
    • PascalCase fü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

    BereichStandardQuick-Check
    Namensprechend, konsistent, Verb/Nomen-Regeln✅/❌
    KommentareAbsicht + Annahmen, Kopfkommentare✅/❌
    StrukturSingle Responsibility, Schichten✅/❌
    Fehlerbehandlungzentral, klar kommunizierende Meldungen✅/❌
    PerformanceArray-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.

    Mit dem VBA Assistant schneller ans Ziel

    Lassen Sie sich Best Practices vorschlagen, Code erklären und automatisch verbessern.