Am Anfang von Modulen sind einige Optionen definierbar, die die Programmierung des jeweiligen Modules auf unterschiedliche Weise beeinflussen. Da zu den Optionen eine recht umfangreiche Hilfe verfügbar ist, möchte ich mich hier auf wenige Details beschränken.
Die wohl bekannteste Option ist Option Explicit.
Durch diese Einstellung ist der Programmierer gezwungen, die in einem Modul verwendeten Variablen zu deklarieren.
Eine typgerechte Deklaration hat hat neben der damit verbundenen typgerechten Verwendung der Variablen in den Makros auch Einfluss auf den von Excel bereitzustellenden Speicherplatz und damit letzendlich auf den gesamten Speicherbedarf der Excel-Anwendung.
Für die Namensvergabe von Variablen sind u.a. VBA-bedingte Regeln einzuhalten, wie z.B. der Ausschluß reservierter Wörter.
Der Programmierer sollte bei der Namensvergabe berücksichtigen, dass seine codes unter Umständen auch von anderen Programmieren mit- oder weiterentwickelt werden.
Die Namensvergabe sollte daher nach drei weiteren Regeln erfolgen.
1. Excel prüft bei Verwendung deklarierter Variablen Groß- und Kleinschreibung und korrigiert das im code automatisch. Die Verwendung von Groß- und Kleinbuchstaben kann daher als einfache Rechtschreibprüfung für Variablen genutzt werden. Wenn beim Programmieren mit Kleinbuchstaben keine Korrektur der Großbuchstaben erfolgt, weicht der Name von der Deklaration ab bzw. enthält Fehler.
2. Der Variablenname sollte anhand der Verwendung der Variable festgelegt werden oder aus einer entsprechende Abkürzung bestehen. So könnte man einen Counter entsprechend benennen oder mit Cnt abkürzen.
3. Variablen sollten nach ihrem Typ gekennzeichnet werden. Dazu eignen sich entsprechende Präfixe. Empfehlungen dazu findet man u.a. im Wikipedia. Hier werden 3-stellige Präfixe vorgestellt. In der Praxis findet man häufig auch ein- und zweistellige Präfixe, z.B. i für Integer oder lo für Long. Den unter 2. genannten Counter könnte man je nach Zahlenbereich z.B. als loCounter oder iCnt deklarieren.
Die Option Explicit ist im VBA-Editor im Menü | Extras | Optionen, Reiter "Editor", Option "Variablendeklaration erforderlich", voreinstellbar. Dadurch wird diese Option automatisch an den Beginn jedes neuen Moduls, Tabellenblattmoduls, Klassenmoduls oder auch Userforms gesetzt.
Eine weitere Option ist Option Private Module.
Nach den ersten selbst programmierten oder eingefügten Makros und Funktionen wird man feststellen, dass diese unter Umständen in entsprechenden Menüs auf dem Arbeitsblatt anwählbar sind, z.B. bei den benutzerdefinierten Funktionen oder bei der Zuweisung von Makros zu Schaltflächen. Möchte man das verhindern, kann man das Wort Private vor das Wort Funktion oder Sub stellen. Die hier genannte Option stellt eine andere Möglichkeit dar.
Die nächste Option ist Option Base 1.
Standardmäßig steht diese Einstellung auf 0. Durch die Option Base 1 erreicht man, dass Arrays, sofern nicht anders dimensioniert, mit 1 beginnen. Das ist insbesondere bei häufigem Gebrauch von Arrays für Arbeitsblattdaten von Vorteil. Der Zeilen- und Spaltenbereich auf einem Blatt beginnt mit 1. Die Indizees der Arrays entsprechen bei dieser EInstellung den Zeilen- und Spaltennummern.
Die letzte Option ist Option Compare ....
Mit dieser Option legt man das Standardverfahren für den Textvergleich fest. Standardmäßig ist Option Compare Binary voreingestellt. Damit wird beim Vergleich von Zeichen eine Unterscheidung der Groß- und Kleinbuchstaben vorgenommen. Mit Option Compare Text erfolgt diese Unterscheidung nicht.
Die wohl bekannteste Option ist Option Explicit.
Durch diese Einstellung ist der Programmierer gezwungen, die in einem Modul verwendeten Variablen zu deklarieren.
Eine typgerechte Deklaration hat hat neben der damit verbundenen typgerechten Verwendung der Variablen in den Makros auch Einfluss auf den von Excel bereitzustellenden Speicherplatz und damit letzendlich auf den gesamten Speicherbedarf der Excel-Anwendung.
Für die Namensvergabe von Variablen sind u.a. VBA-bedingte Regeln einzuhalten, wie z.B. der Ausschluß reservierter Wörter.
Der Programmierer sollte bei der Namensvergabe berücksichtigen, dass seine codes unter Umständen auch von anderen Programmieren mit- oder weiterentwickelt werden.
Die Namensvergabe sollte daher nach drei weiteren Regeln erfolgen.
1. Excel prüft bei Verwendung deklarierter Variablen Groß- und Kleinschreibung und korrigiert das im code automatisch. Die Verwendung von Groß- und Kleinbuchstaben kann daher als einfache Rechtschreibprüfung für Variablen genutzt werden. Wenn beim Programmieren mit Kleinbuchstaben keine Korrektur der Großbuchstaben erfolgt, weicht der Name von der Deklaration ab bzw. enthält Fehler.
2. Der Variablenname sollte anhand der Verwendung der Variable festgelegt werden oder aus einer entsprechende Abkürzung bestehen. So könnte man einen Counter entsprechend benennen oder mit Cnt abkürzen.
3. Variablen sollten nach ihrem Typ gekennzeichnet werden. Dazu eignen sich entsprechende Präfixe. Empfehlungen dazu findet man u.a. im Wikipedia. Hier werden 3-stellige Präfixe vorgestellt. In der Praxis findet man häufig auch ein- und zweistellige Präfixe, z.B. i für Integer oder lo für Long. Den unter 2. genannten Counter könnte man je nach Zahlenbereich z.B. als loCounter oder iCnt deklarieren.
Die Option Explicit ist im VBA-Editor im Menü | Extras | Optionen, Reiter "Editor", Option "Variablendeklaration erforderlich", voreinstellbar. Dadurch wird diese Option automatisch an den Beginn jedes neuen Moduls, Tabellenblattmoduls, Klassenmoduls oder auch Userforms gesetzt.
Eine weitere Option ist Option Private Module.
Nach den ersten selbst programmierten oder eingefügten Makros und Funktionen wird man feststellen, dass diese unter Umständen in entsprechenden Menüs auf dem Arbeitsblatt anwählbar sind, z.B. bei den benutzerdefinierten Funktionen oder bei der Zuweisung von Makros zu Schaltflächen. Möchte man das verhindern, kann man das Wort Private vor das Wort Funktion oder Sub stellen. Die hier genannte Option stellt eine andere Möglichkeit dar.
Die nächste Option ist Option Base 1.
Standardmäßig steht diese Einstellung auf 0. Durch die Option Base 1 erreicht man, dass Arrays, sofern nicht anders dimensioniert, mit 1 beginnen. Das ist insbesondere bei häufigem Gebrauch von Arrays für Arbeitsblattdaten von Vorteil. Der Zeilen- und Spaltenbereich auf einem Blatt beginnt mit 1. Die Indizees der Arrays entsprechen bei dieser EInstellung den Zeilen- und Spaltennummern.
Die letzte Option ist Option Compare ....
Mit dieser Option legt man das Standardverfahren für den Textvergleich fest. Standardmäßig ist Option Compare Binary voreingestellt. Damit wird beim Vergleich von Zeichen eine Unterscheidung der Groß- und Kleinbuchstaben vorgenommen. Mit Option Compare Text erfolgt diese Unterscheidung nicht.
Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.