HERBERS Excel-Forum - VBA-Basics

Thema: Namenskonventionen

Inhaltsverzeichnis
  • 1 Wozu Namenskonventionen?
  • 2 Die Bestandteile eines Namens
  • 3 Die Variablentypen
  • 4 Die MS-Forms-Elemente
  • 5 Die Kostanten und benutzerdefinierten Typen
  • 6 Die Sprungmarken
  • 7 Prozeduren und Funktionen
  • 8 Kommentare
  • Wozu Namenskonventionen?

    Eine einheitliche Form der Namensgebung für Variablen, Konstanten und anderer VBA-Komponenten erleichtet es dem einen Entwickler, den Code des anderen zu verstehen. Zum anderen findet man sich bei einer disziplinierten Namensvergebung auch in seinem eigenen Code besser zurecht. Gänzlich unerlässlich ist die Vereinbarung, wenn ein VBA-Programm im Team erstellt wird.

    Microsoft konnte sich bisher nicht entschliessen, Namenskonventionen für Excel/VBA festzulegen. Diese Lücke wurde durch Entwickler im englischen Sprachraum gefüllt, indem sie unverbindliche Standards vereinbarten, die sich allerdings bisher international nicht durchsetzen konnten. Es handelt sich hier um eine Kombination aus vereinbarten Kürzeln und beschreibenden (sprechenden) Namen.

    Der Verfasser dieser Zusammenfassung stützt sich im Wesentlichen auf die von Graham Keene und James Barnard im Jahre 1996 veröffentlichten Standards, die er an die aktuellen Excel-Versionen angepasst hat.

    Die Bestandteile eines Namens

    Der Name besteht aus 3 Teilen: Präfix, Art und Bezug. Der einzige nicht optionale Bestandteil ist die Art. Da sich jedoch in der Regel mehrere Elemente einer Art im Code befinden, wird - um diese unterscheiden zu können - eine Benennung notwendig:

    
    [präfix]Art[Benennung]
    

    Die eckigen Klammern weisen darauf hin, dass es sich bei den Inhalten um optionale Elemente handelt. Die Klammern selbst sind kein Bestandteil des Namens.

    Hier drei Beispiele:

    Name Präfix Art Benennung
    wksKunden wksKunden
    mintTeileNom intTeileNo
    gstrKundNamegstrKundName

    Präfix und Art werden in Kleinbuchstaben geschrieben, das erste Zeichen der Benennung als Grossbuchstabe. Dies erleichtert die Lesbarkeit des Namens und lenkt den Blick auf die Benennung. In der Benennung selbst wird im Sinne der besseren Lesbarkeit der erste Buchstaben eines jeden Wortes gross geschrieben.

    Das Präfix

    Das Präfix gibt die Art und Gültigkeit der Variablen oder Konstanten an. Hierfür gelten folgende Festlegungen:

    • In Sub’s oder Functions deklarierte Variablen erhalten kein Präfix
    • Lokal als Static deklarierte Variablen oder Konstangen erhalten das Präfix s, also beispielsweise sintCounter
    • Variablen, die im Deklarationsteil eines Moduls mit einer Dim oder Private-Anweisung deklariert wurden, erhalten ein m, also beispielsweise mcurSumme
    • Global ausserhalb von Sub’s oder Funktionen deklarierte Variablen, erhalten ein g, also beispielsweise gdblGesamtSumme

    Die Art

    Hier wird die Art der Variablen festgelegt.

    Die Excel-Blätter:

    BlattArtBeispiel
    Arbeitsblattwks wksKunde
    DiagrammchtchtVerkaeufe
    UserForm (XL97/2000) Dialogblatt (XL5/7)frmfrmRechnungHilfe
    StandardmodulebasbasMain
    KlassenmoduleclsclsMsg
    Excel-4-Makro-Blattxl4xl4Bestellung

    Die Variablentypen

    VariablentypArtBeispiel
    BooleanblnDim blnSchalter as Boolean
    CurrencycurDim curBetrag As Currency
    DatedatDim datStartDatum As Date
    Double dblDim dblPi as Double
    IntegerintDim intCounter as Integer
    Longlng Dim lngParam as Long
    ObjectobjDim objGraph as Object
    SinglesngDim sngParam as Single
    StringstrDim strUserName as String
    Type (benutzerdefiniert)typDim typPartRecord As mtPART_RECORD
    VariantvarDim varEingabe as Variant

    Bei Objektlisten wird der Art ein s hinzugefügt. Beispiele:

    • Workbook = wkb - Workbooks = wkbs
    • Chart = cht - Charts = chts

    Die MS-Forms-Elemente

    ObjektArtBeispiel
    LabellbllblHelpMessage
    TextBoxtxttxtLoginName
    ComboBox cbocboMonate
    ListBoxlstlstAufstellung
    CheckBoxchk chkAnlage
    OptionButtonoptoptJa
    ToggleButtontgltglSchalter
    CommandButtoncmdcmdWeiter
    TabStriptabtabTexte
    MultiPagempgmpgKalender
    SpinButtonspnspnZaehler
    ScrollBarscrscrLeiste
    ImageimgimgStart
    RefEdit refrefBereich
    TreeViewtrvtrvVerteilung
    ListViewlsv lsvOrdner
    CalendarcalcalAktuell

    Die Kostanten und benutzerdefinierten Typen

    Bei den Konstanten weicht man bei VBA von der sonst üblichen Form Grossbuchstaben/Unterstriche (Bsp.=NO_WORKSHEET_ERROR) ab. Die Art der Konstanten wird mit con festgelegt, dem möglicherweise ein Präfix (siehe oben) vorangestellt wird. Für die Benennung gelten die oben getroffenen Festlegungen.

    Beispiel: gconFalscherDatenTyp

    Benutzerdefinierten Typen werden mit einem dem Präfix folgenden t kenntlich gemacht, dem das Präfix gemäss den weiter oben gemachten Regeln folgt. Die Benennung erfolgt hier in Grossbuchstaben, wobei die einzelnen Wörter durch Unterstriche getrennt werden.

    Beispiel: mtPART_RECORD

    Die Sprungmarken

    Die festgelegten Regeln für den Namenskonvention von Sprungmarken werden hier nicht übernommen, da eine moderne Excel-Programmierung ohne Sprungmarken auskommt. Hier gibt es allerdings eine Ausnahme: Die Fehler-Programmierung bei auffangaren Fehlern. Da es die einzige in einer Prozedur vorkommende Sprungmarke ist, bedarf sie keiner besonderen Kennzeichnung. Ihr Name ist im allgemeinen ErrorHandler.

    Im Sinne der Internationalisierung des VBA-Codes sind generell in den Namen keine Umlaute oder das ß einzusetzen.

    Prozeduren und Funktionen

    Für die Prozedur- und Funktonsnamen gibt es - mit Ausnahme der Ereignisprozeduren - keine Regeln. Im Interesse einer guten Lesbarkeit und schnellen Abarbeitung des Codes sollte die Länge 20 Zeichen nicht überschreiten. Sie sollten beschreibend und erklärend sein. Jedes Wort beginnt mit einem Grossbuchstaben. Gebräuchlich sind die Wortpaare Verb/Gegenstandswort.

    Beispiele: AufrufenDialog, SortierenMatrix, WechselnBlatt

    Wenn Sie Ereignisse in XL97/2000 programmieren, werden die Prozedurnamen vom VBE festgelegt und sie haben keinen Einfluss darauf. Ausnahmen bilden benutzerdefinierte Ereignisse und Ereignisse zu Elementen, die nicht zu MSForms gehören. Verwenden Sie hier einen beschreibenden Namen, dem ein Unterstrich und ein Hinweis auf die Art des Ereignisses folgt.

    Kommentare

    Die Kommentierung des VBA-Codes wird oft vernachlässigt, ist jedoch eine Notwendigkeit. Sie erfordert einen erheblichen Einsatz von Zeit und Energie. Zum einen sollte ein Dritter die Möglichkeit haben, das Programm zu verstehen, zum anderen wird man selbst - wenn man nach einem Jahr erneut in den Code einsteigen muss - froh über jede Information sein.

    Wichtige Elemente des Kommentars sind die Angabe des Autors, des Erstellungs- und letzten Änderungsdatums. Im weiteren ist die Kommentierungstechnik abhängig von der Art des Code-Aufbaus.