Hi Gast61126
Deine Information ist allerdings auch nicht vollständig. Ein paar kleine Ergänzungen:
"Variablen, die im Deklarationsbereich deklariert werden, sind auf Modul-Ebene gültig und können von allen Prozeduren innerhalb des Moduls verwendet werden."
Das trifft nur zu, wenn die Variablen mit Dim oder Private deklariert wurden. Du kannst sie aber auch mit Public deklarieren. Dann sind sie auf Applikationsebene gültig und können von anderen Modulen und sogar aus anderen Workbooks aus aufgerufen werden. Deshalb werden sie als global bezeichnet.
"Es ist durchaus möglich, im Deklarationsbereich Variablen zu deklarieren, wie du es erwähnt hast, und die "Option Explicit"-Anweisung zu verwenden"
Man kann wie gesagt noch viel mehr im Deklarationsbereich ablegen. Es gibt u.a. auch noch weitere Option Anweisungen. Ich verwende z.B. häufig die Option Private Module. Damit sind Public Variablen und Prozeduren nur noch auf Workbook-Ebene verwendbar, was im Prinzip dem Deklarationstyp Friend gleichkommt, der ja im Standardmodul nicht verwendet werden kann. Public Prozeduren können damit zudem vor dem Makro-Menü (Alt+F8) versteckt werden.
Ereignisprozeduren sind auch ganz normale Prozeduren die ausführbaren Code enthalten und liegen deshalb nicht im Deklarationsbereich da dieser ja per Definition vor den Prozeduren steht. z.B. kann man Workbook_Open() auch mit F5 ausführen oder mit oder ohne Call aus einer anderen Prozedur aufrufen.
"Zusammenfassend lässt sich sagen, dass nicht der gesamte Code in Prozeduren stehen muss, sondern dass es wichtig ist, den Code klar zu strukturieren..."
Dem stimme ich voll und ganz zu. Allerdings ging es hier um die Frage wie man "auführbaren Code" definiert. Ich bin der gleichen Meinung wie Microsoft und Gast 78462. Nämlich das ausführbarer Code nur die Codezeilen sind, die vom Parser ausgeführt werden. Dass man darüber hinaus auch weiteren Code schreiben kann, der irgendwie sinnvoll ist, ist klar, nur wird dieser eben nicht ausgeführt, sondern dient Hilfszwecken.
Gruß Mr. K.
|