| Namenskonventionen, Richtlinien und Empfehlungen | Home |
![]()
| Seiteninhalt Auf dieser Seite werden Konventionen, Richtlinien und Empfehlungen für das Benennen von Objekten, Steuerelementen, Variablen und anderen Elementen in Microsoft Office, Microsoft Excel, VB und VBA vorgestellt. Sie finden hier zudem Richtlinien für Masseinheiten sowie eine Liste mit Links zu weiteren Informationsquellen. |
Leserprofil Alle Office-/Excel-Anwender und VB-/VBA-Programmierer |
![]()
| Verwandte Themen und Seiten | |
![]()
Allgemeines
Konventionen und Standards von Microsoft Corporation
Namenskonventionen und Regeln
Richtlinien für Steuerelementnamen
Richtlinien für Variablennamen
Richtlinien für Zellen-, Formeln- und Konstanten-Namen
Richtlinien für Arbeitsblatt-Namen
Richtlinien für Datei-/Arbeitsmappen-Namen
Richtlinien für Objekt-Verknüpfungen
Empfehlungen für VBA/VB-Programme
Vermeiden von Namenskonflikten
Aufrufen von Prozeduren mit dem gleichen Namen
Verschiedenes
Die hier vorgestellten Richtlinien enthalten einerseits verbindliche, technisch bedingte Vorgaben von Microsoft und andererseits Empfehlungen, die zwar nicht verbindlich sind, aber den VBA-Programmierern weltweit bekannt sind und auch eingehalten werden. Die Richtlinien basieren auf der so genannten Ungarischen Notation (engl. Hungarian Notation). Eine Dokumentation über die Ungarische Notation mit Namenskonventionen für Objekte finden Sie ebenfalls im Kapitel Weitere Informationsquellen.
Richtlinien für Steuerelementnamen
Präfixe für Steuerelementnamen
Ein Präfix ist ein Kürzel, welches bei Steuerelementnamen dazu verwendet wird, den Typ des Steuerelementes anzugeben. Durch das Präfix ist jederzeit sofort erkennbar, ob es sich bei dem Steuerelement um eine Befehlsschaltfläche, ein Listenfeld, ein Bezeichnungsfeld etc. handelt.| Präfix | Steuerelement | Steuerelement (englisch) |
| cbo | Kombinationsfeld | Combo Box |
| chk | Kontrollkästchen | Check Box |
| cmd | Befehlsschaltfläche | Command Button |
| fra | Rahmen | Frame |
| img | Anzeige | Image |
| lbl | Bezeichnungsfeld | Label |
| lst | Listenfeld | List Box |
| mlp | Multiseite | Multi Page |
| opt | Optionsfeld | Option Button |
| scb | Bildlaufleiste | Scroll Bar |
| spb | Drehfeld | Spin Button |
| tab | Register | Tab Register |
| tgl | Umschaltfeld | Toggle Button |
| txt | Textfeld | Text Box |
Regeln für Steuerelementnamen Berücksichtigen Sie folgende Regeln, wenn Sie Steuerelemente benennen. Beachten Sie, dass diese Regeln verbindlichen Charakter besitzen.
Das erste Zeichen des Steuerelementnamens muss ein Buchstabe sein.
Der Steuerelementname darf Buchstaben, Ziffern und Unterstriche (_) enthalten. Alle anderen Zeichen sind nicht erlaubt.
In einem Visual Basic-Projekt (VB-Projekt) darf der Name maximal 40 Zeichen lang sein.
In einem Visual Basic für Applikationen-Projekt (VBA-Projekt) darf der Name maximal 128 Zeichen lang sein.
Wenn ein ungültiger Name eingegeben wird, erscheint diese Fehlermeldung:

Abbildung: Fehlermeldung "Kein zulässiger Objektname:
<Name>"
Empfehlungen für Steuerelementnamen Diese Empfehlungen sollen Ihnen helfen, optimale Bezeichnungen für Ihre Steuerelemente zu verwenden.
Verwenden
Sie zwecks besserer Lesbarkeit die Gross-/Kleinschreibung.
Falsch: cmdreportdrucken
Richtig: cmdReportDrucken
Der
erste Buchstabe des Steuerelementnamens wird gross geschrieben.
Falsch: optfettschrift
Richtig: optFettschrift
Setzt
sich der Steuerelementname aus mehreren Wörtern zusammen, so wird jedes Wort gross
geschrieben.
Falsch: chkallepositionenspeichern
Richtig: chkAllePositionenSpeichern
Vergeben
Sie sinnvolle und sprechende Namen, die Bedeutung und - wenn möglich - den Inhalt des
Steuerelementes erkennen lassen.
Falsch: lstListe
Richtig: lstVerfügbareBerichte
Sparen
Sie nicht mit Buchstaben. Machen Sie den Steuerelementnamen aber auch nicht zu lang
(Faustregel: Maximal 40 Zeichen).
Falsch: cboZVerwDok
Richtig: cboZuletztVerwendeteDokumente
Werden
längere Namen oder Begriffe abgekürzt, sollten einheitliche und geläufige Abkürzungen
verwendet werden.
Falsch: Für "Durchlaufvermögen": txtDLVerm,
txtDLVermögen oder txtDuLaVe
Richtig: Für "Durchlaufvermögen": txtDLV
Richtlinien für Variablennamen
Präfixe für die Datentyp-KennzeichnungEin Präfix ist ein Kürzel, welches bei Variablennamen benutzt wird, damit erkennbar ist, welchen Datentyp die Variable besitzt. Hier die empfohlenen Präfixe:
| Präfix | Datentyp |
| bol oder bln | Boolean |
| byt | Byte |
| cur | Currency |
| dat | Date |
| dbl | Double |
| dec | Decimal |
| int | Integer |
| lng | Long |
| sng | Single |
| str | String |
| var | Variant |
Durch die Verwendung des Präfixes kann jederzeit der Datentyp (und somit eigentlich auch die Art des Variableninhaltes) der Variable bereits an ihrem Namen erkannt werden.
Praxisbeispiel
Anhand des folgenden Beispiels lässt sich der Vorteil eines Präfix besonders gut
erkennen.
Es bleibt Ihnen somit nichts anderes übrig, als die Variablendeklaration im Programmcode zu suchen, damit Sie wissen, welche der obigen fünf Anweisungen Sie verwenden müssen. Hätte der Programmierer dem Namen der Variable das empfohlene Präfix vorangestellt, wäre der Datentyp sofort klar gewesen.
Regeln für Variablennamen Berücksichtigen Sie die folgenden Regeln, wenn Sie Variablen benennen. Beachten Sie, dass diese Regeln verbindlichen Charakter besitzen.
Verwenden Sie einen Buchstaben als erstes Zeichen.
Verwenden Sie kein Leerzeichen, keinen Punkt (.), Ausrufezeichen (!) oder die Zeichen @, &, $, # im Namen.
Der Name darf die Länge von 255 Zeichen nicht überschreiten.
Im Allgemeinen sollten Sie keine Namen verwenden, die bereits von Prozeduren, Funktionen, Anweisungen, Methoden oder dergleichen in Visual Basic verwendet werden, da auf diese Weise die Funktionalität des entsprechenden Schlüsselwortes in der Sprache beeinträchtigt wird. Wenn Sie Funktionen, Anweisungen oder Methoden verwenden möchten, die in die Sprache integriert sind und mit einem zugewiesenen Namen (d.h. einem durch Sie selbst vergebenen Namen) in Konflikt stehen, müssen Sie die Funktion, Anweisung oder Methode explizit kennzeichnen. Stellen Sie dem Namen der integrierten Funktion, Anweisung oder Methode den Namen der zugehörigen Klassenbibliothek voran. Wenn Sie z.B. eine Variable mit dem Namen "Left" verwenden, können Sie die Left-Funktion nur mit VBA.Left aufrufen. Wie eingangs erwähnt sollten Sie aber darauf verzichten, für Schlüsselwörter reservierte Namen für eigene Zwecke zu verwenden.
| Gross-/Kleinschreibung VBA berücksichtigt die Gross-/Kleinschreibung nicht, behält jedoch die Schreibweise der Anweisung bei, mit der die Variable deklariert wurde. |
Hinweis
VBScript berücksichtigt in Variablennamen die Gross-/Kleinschreibung!
Empfehlungen für Variablennamen
Diese Empfehlungen sollen Ihnen helfen, optimale Bezeichnungen für Ihre Variablen zu finden.Verwenden Sie
die Gross-/Kleinschreibung.
Falsch: intersterzeilenzähler
Richtig: intErsterZeilenZähler
Der erste
Buchstabe des Variablennamens wird gross geschrieben.
Falsch: intzahl
Richtig: intZahl
Setzt sich der
Variablenname aus mehreren Wörtern zusammen, so wird jedes Wort gross geschrieben.
Falsch: intmeinelieblingszahl
Richtig: intMeineLieblingsZahl
Vergeben Sie
sinnvolle und sprechende Namen, die Bedeutung und - wenn möglich - den Inhalt der
Variable erkennen lassen.
Falsch: strMeineVariable
Richtig: strNachname
Sparen Sie nicht
mit Buchstaben bei der Länge des Namens. Machen Sie den Variablennamen aber nicht zu lang
(Faustregel: maximal 40 Zeichen).
Falsch: dblSBetrEink
Richtig: dblStartBetragEinkauf
Werden längere
Namen oder Begriffe abgekürzt, sollten einheitliche und geläufige Abkürzungen verwendet
werden.
Falsch: Für "Durchlaufvermögen": dblDLVerm,
dblDLVermögen oder dblDuLaVe
Richtig: Für "Durchlaufvermögen": dblDLV
Richtlinien für Zellen-, Formeln- und Konstanten-Namen
Benennen von Zellen, Formeln und Konstanten in Microsoft Excel
Die folgenden Regeln gelten für Zellen, Formeln und Konstanten in Microsoft Excel.
*! Bitte beachten Sie die Sonderregelung für Namenlängen, wenn aus Microsoft Access heraus auf eine Excel-Tabelle zugegriffen werden soll.
Eine Beschreibung finden unter XLimits: Maximale Länge des Namens für Zellen, Formeln und Konstanten.
Richtlinien für Arbeitsblatt-Namen
Auch für Namen von Arbeitsblättern einer Excelmappe existieren mehrere Richtlinien.
Allgemeine Richtlinien
Ein Blattname kann eine beliebige Kombination bestehend aus Grossbuchstaben, Kleinbuchstaben, Ziffern sowie bestimmten Sonderzeichen verwenden.
Länge eines Blattnamens
Die maximale Länge eines Blattnamens beträgt 31 Zeichen. Die Mindestlänge beträgt 1 Zeichen.
Erlaubte Zeichen
Ein Blattname kann Grossbuchstaben, Kleinbuchstaben und Ziffern enthalten. Zudem sind folgende Sonderzeichen in Blattnamen uneingeschränkt erlaubt:
.
,
+
-
;
=
(
)
Diese Sonderzeichen sind zwar erlaubt, sollten aber möglichst nicht verwendet werden:
!
"
|
Die obigen Zeichen sind problematisch, wenn ein Arbeitsblatt als Datei exportiert bzw. als neue Arbeitsmappe gespeichert wird, da die Zeichen in Dateinamen verboten sind (siehe auch Kapitel Richtlinien für Datei-/Arbeitsmappen-Namen).
Gesperrte Zeichen
Wenn Sie in Microsoft Excel ein Blatt umbenennen (Menübefehl Format/Blatt/Umbenennen oder Doppelklick auf den Reiter im Blattregister), so sind verschiedene Zeichen bei der Eingabe des Blattnamens von vornerein gesperrt. Das bedeutet, dass bei Drücken der jeweiligen Taste nichts passiert.
Bei Eingabe eines ungültigen Blattnamens erscheint diese Fehlermeldung:

Abbildung: Fehlermeldung infolge Eingabe eines
ungültigen Blattnamens
Diese Zeichen können generell nicht eingegeben werden, da bei Drücken der jeweiligen Taste das Zeichen nicht angenommen wird:
Dieses Zeichen kann nicht eingegeben werden, wenn es als erstes Zeichen im Blattname verwendet wird:
Es kann jedoch eingegeben werden, wenn zuerst ein anderes Zeichen eingegeben wird. Als letztes Zeichen kann das Apostroph eingegeben werden, wird aber von Excel mit einer Fehlermeldung beanstandet. Innerhalb des Blattnamens kann es verwendet werden. Das Apostroph sollte allerdings generell nicht benutzt werden, da es von Excel in Verknüpfungsinformationen verwendet wird (siehe auch Kapitel Richtlinien für Objekt-Verknüpfungen). Verknüpfungsinformationen werden unter anderem bei externen Zellbezügen eingesetzt.
Wenn beispielsweise die Quelltabelle "Tabelle1" heisst, sieht die Verknüpfungsinformation wie folgt aus:
='C:\Dateien\[Mappe.xls]Tabelle1'!$A$1
Heisst die Tabelle dagegen "Tabelle'1", so lautet die Verknüpfungsinformation so:
='C:\Dateien\[Mappe.xls]Tabelle''1'!$A$1
Es gibt zwei weitere Zeichen, die bei der Eingabe zwar zugelassen werden, aber dennoch verboten sind:
Die öffnende eckige Klammer kann nicht als erstes Zeichen eingegeben werden, die schliessende Klammer dagegen schon.
Das Leerzeichen kann uneingeschränkt verwendet werden. Es ist sogar erlaubt, ausser einem bzw. mehreren Leerzeichen keine anderen Zeichen zu verwenden. Es sollte aber wenn möglich weder als erstes noch als letztes Zeichen eingegeben werden, da ein Problem auftritt, wenn das Arbeitsblatt als Datei exportiert bzw. als neue Arbeitsmappe gespeichert wird. Dateinamen, die mit einem Leerzeichen beginnen oder enden sind nicht erlaubt (siehe auch Kapitel Richtlinien für Datei-/Arbeitsmappen-Namen).
Blattname "Änderungsprotokoll"
Der Name "Änderungsprotokoll" kann nicht für ein Arbeitsblatt verwendet
werden, da es sich um einen geschützten Begriff handelt. Er wird von Microsoft Excel für
das Tabellenblatt benutzt, auf dem die Änderungen an einer freigegebenen Mappe
protokolliert werden. Dieser Name ist generell gesperrt, d.h. auch in nicht-freigegebenen
Mappen. Wenn Sie diesen Namen eingeben, erscheint folgende Fehlermeldung:

Abbildung: Fehlermeldung "Änderungsprotokoll ist ein
reservierter Name"
Blattname "History"
Der Name "History" sollte nicht verwendet werden, da er in der englischen
Ausgabe von Microsoft Excel gesperrt ist. Es handelt sich um das englische Pendant zu
"Änderungsprotokoll" in der deutschen Excel-Ausgabe (siehe oben).
"History" kann im deutschen Excel zwar eingegeben werden. Weil man aber nie
davon ausgehen darf, dass eine Arbeitsmappe ausschliesslich in der deutschen Ausgabe
benutzt wird, sollte man "Histroy" besser nicht verwenden.
Interner Blattname "dir"
Der interne Name eines Arbeitsblattes (der sogenannte Codename) darf auf keinen Fall in "dir" umbenannt werden
(Gross-/Kleinschreibung ist egal)! Die Änderung kann nur im VBA-Editor über das
Eigenschaften-Fenster (Eigenschaft "(Name)") vorgenommen werden. Sobald man ein
Blatt/Modul als "dir" benennt und speichert, ist die gesamte Arbeitsmappe
zerstört! Die Mappe lässt sich zwar noch öffnen und es können ein paar wenige
Änderungen am Tabelleninhalt vorgenommen werden. Speichern lässt sich die Arbeitsmappe
jedoch nicht mehr und auch der VBA-Code des Arbeitsblattes kann nicht mehr angezeigt
werden. Die meisten anderen Aktionen wie beispielsweise "Blatt
kopieren/verschieben" führen zum Excel-Absturz (Seitenfehler). Manchmal erscheinen
während der Arbeit auch Fehlermeldungen wie diese:

Abbildung: Fehlermeldung "Datei wurde nicht gespeichert"

Abbildung: Fehlermeldung "Unzulässiger Eigenschaftswert"

Abbildung: Fehlermeldung "Ungültiges Datenformat"

Abbildung: Fehlermeldung "Anwendungs- oder
objektdefinierter Fehler"
Richtlinien für Datei-/Arbeitsmappen-Namen
Dateinamen müssen entsprechend den Konventionen des Betriebssystems (sprich Windows) und den Basis-Dateinamenkonventionen angegeben werden. In Microsoft Windows gelten die folgenden Konventionen für die Namen von Dateien und Verzeichnissen:
Der Name einer Datei oder eines Verzeichnisses kann aus zwei Abschnitten bestehen, einem Namen und einer optionalen Erweiterung. Beide Abschnitte sind durch einen Punkt getrennt. Beispiel: "testdat.neu".
Der Name kann bis zu 255 Zeichen enthalten.
Der Name muss mit einem Buchstaben oder einer Zahl beginnen.
Der Name kann Leerzeichen enthalten (ausser als letztes Zeichen).
Es sind sowohl Gross- als auch Kleinbuchstaben zulässig (zwischen Gross- und Kleinschreibung wird nicht unterschieden).
Der
Name kann mit Ausnahme der folgenden Zeichen alle Zeichen enthalten:
Anführungszeichen (")
Apostroph (')
Schrägstrich (/)
Umgekehrter Schrägstrich (\)
Doppelpunkt (:)
Vertikale Linie (|)
Die
folgenden Namen sind reserviert und stehen für Datei- und Verzeichnisnamen nicht
zur Verfügung:
CON
AUX
COM1
COM2
COM3
COM4
LPT1
LPT2
LPT3
PRN
NUL
Wenn Sie zum Beispiel versuchen, eine Datei mit dem Namen PRN in einer
Open-Anweisung zu verwenden, wird der Standarddrucker zum Ziel für alle Print #- und
Write #-Anweisungen, die die in der Open-Anweisung angegebene Dateinummer verwenden.
Auf dem Macintosh sind ausser dem Doppelpunkt (:) alle Zeichen (auch Leerzeichen) für Dateinamen zulässig. Null-Zeichen (Chr(0)) können in Dateinamen nicht verwendet werden.
Die folgende Liste enthält einige Beispiele für
Dateinamen, die unter Microsoft Windows zulässig sind:
- BRIEF.DOC
- Datei Memo.Txt
- BUDGET.92
- 12345678.901
- Zweiter Versuch.Wdh
Richtlinien für Objekt-Verknüpfungen
Eine Verknüpfung - egal ob zu einer Zelle, einem Diagramm oder einem anderen Objekt - verwendet eine ganz bestimmte, festgelegte Syntax. Hier ein Beispiel einer Verknüpfung:
='D:\Daten\Excel\[Testmappe.xls]Tabelle1'!$A$4
Die Verknüpfungsinformation besitzt folgende Bestandteile (von links nach rechts):
Gleichheitszeichen (=)
Apostrophzeichen (')
Dateipfad (z.B. "D:\Daten\Excel\")
Linke eckige Klammer ([)
Dateiname (z.B. "Testmappe.xls")
Rechte eckige Klammer (])
Blattname (z.B. "Tabelle1")
Apostrophzeichen (')
Ausrufezeichen (!)
Der Bezug, im obigen Beispiel mit $A$4 angegeben, ist nicht Teil der Verknüpfungsinformation.
Gültige Zeichen
Buchstaben und Ziffern (A-Z, a-z, 0-9)
Unterstrich (_)
Ungültige Zeichen
Leerzeichen
Ausrufezeichen (!)
Punkt (.)
Fragezeichen (?)
Komma (,)
Doppelpunkt (:)
Bindestrich (-)
Runde, eckige und geschweifte Klammern ((, ), [, ], {, })
Alle sonstigen Zeichen (unter anderem *, +, %, &, /, =, ', $, ;, \, <, >, ~, |, @, #)
- Ein Modul darf nicht gleich heissen wie eine Prozedur bzw. Funktion desselben Moduls.
- Ein Modul darf nicht mit "dir", "Dir" oder "DIR" benannt werden (Problem in Excel).
- Das Zeichen "Unterbrochene vertikale Linie" (¦) ist in Modulnamen zwar erlaubt, sollte aber nicht verwendet werden.
- Der Modulname kann bis zu 31 Zeichen lang sein.
Für Masseinheiten gibt es keine Richtlinien im Sinne von zwingenden Regeln. Es ist jedoch zu empfehlen, die nachfolgenden Abkürzungen zu verwenden, da diese gebräuchlich sind und im Allgemeinen verstanden werden.
| Mass | Masseinheit | Bemerkung |
| Gramm | g | . |
| Kilogramm | kg | . |
| Stück | sg | Abkürzung in Kleinbuchstaben schreiben. "SG" ist die Abkürzung von "specific gravity" (Spezifische Dichte). |
| Pfund (Handelsgewicht) | lbm | . |
| U (atomare Masseneinheit) | u | . |
| Unze (Handelsgewicht) | ozm | . |
| . | . | . |
| Länge | . | . |
| Kilometer | km | . |
| Meter | m | . |
| Zentimeter | cm | . |
| Meile (Britische Meile) | mi | . |
| Nautische Meile | Nmi | . |
| Zoll (Inch) | in. | Inch sollte nicht abgekürzt werden, und falls
doch, dann immer mit Punkt ("in."). Inch ist die einzige Masseinheit, die mit Punkt abgekürzt wird. |
| Fuss (Feet) | ft | . |
| Yard | yd | . |
| Ångström | ang | . |
| Pica (1/72 Zoll) | pi | Besser nicht abkürzen, wegen Verwechslungsgefahr
mit der mathematischen Konstante pi. |
| . | . | . |
| Zeit | . | . |
| Jahr | yr | Sollte nicht abgekürzt werden. |
| Monat | mo | Sollte nicht abgekürzt werden. |
| Woche | wk | Sollte nicht abgekürzt werden. |
| Tag | . | Wird nicht abgekürzt. |
| Stunde | hr | . |
| Minute | mn | . |
| Sekunde | sec (oder s) | . |
| Millisekunden | msec (oder ms) | Sollte nicht abgekürzt werden. |
| Microsekunden | . | Wird nicht abgekürzt. |
| Nanosekunden | ns | Sollte nicht abgekürzt werden. |
| . | . | . |
| Druck | . | . |
| Pascal | Pa | . |
| Atmosphäre | atm | . |
| mm Quecksilbersäule | mmHg | . |
| . | . | . |
| Kraft | . | . |
| Newton | N | . |
| Dyn | dyn | . |
| . | . | . |
| Energie | . | . |
| Joule | J | . |
| Erg | e | . |
| Thermodynamische Kalorie | c | . |
| Kalorie | cal | . |
| Elektronenvolt | eV | Besser nicht abkürzen, wegen Verwechslungsgefahr
mit "eingetragener Verein", der allerdings mit "e.V." abgekürzt wird. |
| Pferdestärke mal Stunde | HPh | . |
| Watt mal Stunde | Wh | "Wh" steht für "watt-hour". |
| BTU | BTU | . |
| . | . | . |
| Leistung | . | . |
| Pferdestärke (PS) | HP | "HP" steht für "horsepower". |
| Watt | W | . |
| . | . | . |
| Magnetismus | . | . |
| Tesla | T | . |
| Gauss | ga | . |
| . | . | . |
| Temperatur | . | . |
| Grad | ° | Nur für Temperatur. Für das Bogenmass wird die Abkürzung "deg" verwendet. |
| Grad Celsius | C | Abkürzung in Grossbuchstaben schreiben. "c" ist die Abkürzung von "Thermodynamische Kalorie". |
| Grad Fahrenheit | F | . |
| Grad Kelvin | K | . |
| . | . | . |
| Flüssigkeiten | . | . |
| Teelöffel (Teaspoon) | tsp | . |
| Esslöffel (Tablespoon) | tbs | . |
| Flüssige Unze | oz | . |
| Tasse (Cup) | cup | . |
| Pint (0.568 Liter) | pt | Besser nicht abkürzen, wegen Verwechslungsgefahr
mit "Point" (Punkt). "Point" besitzt die gleiche Abkürzung "pt". "PT" in Grossbuchstaben ist die gebräuchliche Abkürzung von "pulse transformer". |
| Quart | qt | . |
| Gallone | gal | . |
| Liter | l | . |
Die Abkürzungen der nachstehend aufgeführten Präfixe für Einheiten können vor jede metrische Masseinheit gesetzt werden.
| Vorsatz | Multiplikator | Abkürzung |
| Exa | 1E+18 | "E" |
| Peta | 1E+15 | "P" |
| Tera | 1E+12 | "T" |
| Giga | 1E+09 | "G" |
| Mega | 1E+06 | "M" |
| Kilo | 1E+03 | "k" |
| Hekto | 1E+02 | "h" |
| Deka | 1E+01 | "e" |
| Dezi | 1E-01 | "d" |
| Zenti | 1E-02 | "c" |
| Milli | 1E-03 | "m" |
| Mikro | 1E-06 | "u" |
| Nano | 1E-09 | "n" |
| Piko | 1E-12 | "p" |
| Femto | 1E-15 | "f" |
| Atto | 1E-18 | "a" |
Weitere Masseinheiten und Zahlennamen finden Sie unter Weitere Informationsquellen.
Vermeiden von Namenskonflikten
Ein Namenskonflikt tritt auf, wenn Sie einen Bezeichner erstellen oder verwenden möchten, der von Visual Basic als bereits definiert erkannt wurde. In einigen Fällen können Namenskonflikte zu Fehlermeldungen wie "Mehrdeutiger Name" oder "Mehrfachdeklaration im aktuellen Gültigkeitsbereich" führen. Namenskonflikte können aber auch unbemerkt bleiben und zu Fehlern im Code sowie zu falschen Programmergebnissen führen, insbesondere, wenn Sie nicht alle Variablen vor der ersten Verwendung explizit deklarieren.
Die meisten Namenskonflikte können beseitigt werden, wenn Sie das Konzept der Gültigkeitsbereiche von Bezeichnern für Daten, Objekte und Prozeduren verstanden haben. In Visual Basic gibt es drei Ebenen für Gültigkeitsbereiche: Prozedurebene, private Modulebene und öffentliche Modulebene.
Namenskonflikte können in den folgenden Situationen auftreten:
Prozeduren können z.B. in verschiedenen Modulen
denselben Namen haben. Eine Prozedur mit dem Namen Sub1 kann daher in den
Modulen Mod1 und Mod2 definiert werden. Wenn die Prozeduren aus
den jeweils zugehörigen Modulen aufgerufen werden, treten keine Konflikte auf. Es kann
jedoch zu einem Fehler kommen, wenn Sub1 aus einem dritten Modul aufgerufen
wird und eine explizite Kennzeichnung zur Unterscheidung der beiden Sub1-Prozeduren
fehlt.
Die meisten Namenskonflikte können behoben werden, indem Sie dem Namen eine genaue Kennzeichnung voranstellen, die den Modulnamen und, falls benötigt, einen Projektnamen enthält. Beispiel:
EinProjekt.EinModul.EineSub Projekt1.Modul1.Var1
Im diesem Code wird die Sub-Prozedur EineSub
aufgerufen, wobei Var1 als Argument übergeben wird. Sie können die
Kennzeichner beliebig kombinieren, solange die Unterscheidung gleicher Bezeichner
gewährleistet ist.
Visual Basic ordnet jedem Verweis auf einen
Bezeichner die "nächstliegende" Deklaration eines übereinstimmenden
Bezeichners zu. Wenn MeineID z.B. in zwei Modulen eines Projekts (Mod1
und Mod2) als Public deklariert ist, können Sie auf die in Mod2
deklarierte Variable mit dem Namen MeineID ohne explizite Kennzeichnung aus Mod2
zugreifen, müssen die Variable aber explizit (als Mod2.MeineID)
kennzeichnen, um darauf aus Mod1 zuzugreifen. Das gilt auch, wenn sich Mod2
in einem anderen, direkt referenzierten Projekt befindet. Befindet sich Mod2
allerdings in einem indirekt referenzierten Projekt, so muss die darin enthaltene Variable
MeineID in Referenzen stets explizit mit dem Projektnamen gekennzeichnet
werden. Wenn Sie auf MeineID aus einem dritten, direkt referenzierten Modul
zugreifen, wird die erste Deklaration verwendet, die bei der Suche in folgenden Bereichen
gefunden wird:
Namen von Objekten der Host-Anwendung (z.B. R1C1 in Microsoft Excel) können nicht in verschiedenen Gültigkeitsbereichen mehrmals verwendet werden.
Tipp:
Option Explicit verwenden
Typische Fehler, die aufgrund von Namenskonflikten auftreten, sind
mehrdeutige Namen, doppelte Deklarationen, nichtdeklarierte Bezeichner und nichtgefundene
Prozeduren. Sie können Namenskonflikte und Fehler im Zusammenhang mit Bezeichnern
vermeiden, indem Sie jedes Modul mit der Anweisung Option Explicit beginnen.
Damit erzwingen Sie die explizite Deklaration von Variablen, bevor sie verwendet werden.
Wichtiger Hinweis zu Variablennamen
Verwenden Sie grundsätzlich keine Bezeichnungen für Variablen, die in irgend einer Art und Weise zu einem Konflikt mit einem existierenden Bezeichner führen könnten.
Hier sehen Sie die Ereignisprozedur BeforeClose einer Arbeitsmappe.
Private Sub Workbook_BeforeClose(Cancel As
Boolean)
Saved = True
End Sub
In einem Standard-Modul, z.B. dem Modul1, wird die Variable Saved mit Public deklariert:
Public Saved As Boolean
Auf den ersten Blick (und vielleicht sogar auf den zweiten) sieht es so aus, dass der Variable Saved der Wert True zugewiesen wird. Tatsächlich ist dies nicht der Fall! Bei Saved handelt es sich nämlich nicht um eine Variable sondern um die gleichnamige Eigenschaft des Workbook-Objektes. Der Code bewirkt somit, dass die aktuelle Arbeitsmappe als gespeichert angesehen wird und daher im Anschluss an die BeforeClose-Prozedur die Rückfrage "Änderungen speichern?" vor dem Schliessen der Mappe nicht erscheint. VBA betrachtet alle Bezeichner als Eigenschaften und Methoden von Workbook, da sie im Kontext der Arbeitsmappe verwendet werden. Nur wenn ein Bezeichner nicht einer Eigenschaft oder Methode entspricht, wird er als Variable angesehen.
Beispielsweise eine existierende Methode kann verwendet werden, ohne dass die Methode voll qualifiziert werden muss. Das heisst, dass das übergeordnete Objekt (ThisWorkbook oder ActiveWorkbook) nicht angegeben werden muss. Hier ein Beispiel:
Private Sub Workbook_BeforeClose(Cancel As
Boolean)
SaveCopyAs "C:\MappeKopie.xls"
End Sub
Aufrufen von Prozeduren mit dem gleichen Namen
Sie können eine Prozedur in einem beliebigen Modul, das sich in demselben Projekt befindet wie das aktive Modul, genauso aufrufen wie eine Prozedur im aktiven Modul. Sie müssen jedoch einen Modulnamen in der aufrufenden Anweisung angeben, wenn zwei oder mehr Module eine Prozedur mit demselben Namen enthalten.
Beispiel
Sub Main()
Modul1.MeineProzedur
End Sub
Wenn Sie den gleichen Namen an zwei unterschiedliche Prozeduren in zwei unterschiedlichen Projekten vergeben, müssen Sie beim Aufruf dieser Prozedur einen Projektnamen angeben. Die folgende Prozedur ruft z.B. die Prozedur Main im Modul Modul1 des Projekt Projekt1.vbp auf.
Sub Main()
[Projekt1.vbp].[Modul1].Main
End Sub
Tipps zum Aufrufen von Prozeduren
Namenskonventionen
Microsoft
Consulting Services (MCS) Naming Conventions
http://support.microsoft.com/?scid=kb;EN-US;110264
Konventionen
für die Programmierung mit VBScript (Auszug der VBScript-Dokumentation)
vbscriptconventions.htm
Ungarische
Notations-Methodik
http://www.stefan-lenz.ch/glossareintrag_drucken.php?file=notation.htm
Ungarische
Notation für Visual Basic
http://www.it-academy.cc/content/article_browse.php?ID=995
Namenskonventionen
http://www.me-asal.de/access/desnamen.htm
Richtlinien für Dokumentationen
Microsoft Manual of Style for Technical Publications
Diese Dokumentation kann auf der Download-Seite von xlam heruntergeladen werden:
Zahlen, Masseinheiten und anderes
Liste der Vorsilben für Masseinheiten http://de.wikipedia.org/wiki/Liste_der_Vorsilben_f%FCr_Ma%DFeinheiten
Liste von Zahlennamen http://de.wikipedia.org/wiki/Zahlennamen
Schreibweise von Zahlen http://de.wikipedia.org/wiki/Schreibweise_von_Zahlen
Liste besonderer Zahlen http://de.wikipedia.org/wiki/Liste_besonderer_Zahlen
Zahlwort http://de.wikipedia.org/wiki/Zahlwort
Römische Ziffern http://de.wikipedia.org/wiki/R%F6mische_Ziffern
Names of large and small numbers http://www.uni-bonn.de/~manfear/numbers_names.php
![]()
Zuletzt aktualisiert am 21.11.2005
/ 23:00 Uhr
© 2002-2005 by Philipp von Wartburg, CH-8916 Jonen
Alle Rechte vorbehalten