Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Inhalt dieser Seite

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.