Excel 2013 VBA Grundkurs

Datei-öffentliche Variablen

Testen Sie unsere 2011 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Manche Variablen – beispielsweise ein Benutzername oder dessen Rechte – sollen in allen Prozeduren aller Module nutzbar sein. Dann ist es notwendig, diese Variablen Datei-öffentlich zu machen.

Transkript

Sie sehen hier in diesem Modul schon: zwei Versionen, eine Variablen- Deklaration lokal deklariert. Also, nur innerhalb der Prozedur gültig und sichtbar, und Modul-öffentlich deklariert. Also, innerhalb des Moduls von allen Prozeduren sichtbar. Sage mal ausdrücklich: Modul-öffentlich, häufig wird einfach nur öffentliche Variable gesagt. Es gibt zwei Öffentlichkeiten, nämlich die Modul-öffentliche wie hier und eine Datei-öffentliche. Modul-öffentliche kennzeichne ich mit einem M-Unterstrich. Datei-öffentliche werde ich mit einem P-Unterstrich kennzeichnen, weil das Schlüsselwort nicht mehr Dim, sondern Public heißt. Und weil das sehr schnell sehr viele werden, auch wenn man möglichst weniger davon haben soll, werden sich einige sammeln. Deswegen setze ich hier ein eigenes Modul also, ein neues Modul einfügen. Das heißt bei mir traditionell modVarKonst und eigentlich auch schon DLL, weil auch dort DLL-Deklarationen drin stehen, die wir hier aber nicht brauchen. Und anstatt dort nur Dim, irgendwas zu schreiben, das wäre auch nur eine Modul-öffentliche Deklaration, heißt das Schlüsselwort diesmal Public. Und deswegen kennzeichne ich die mit einem P. Ein typischer Fall ist z.B. der Name des Benutzers, wenn ich den einmal erfrage, möchte ich den für die Dauer des Programmlaufs wissen. Also, Benutzername und dann As String natürlich. Oder wenn Sie wollen, Public p_ datBenutzerGeburtstag, wenn ich das aus irgendwelchen Gründen wissen muss As Date als Datentyp. Dieses Modul enthält, jedenfalls bei mir, nichts anderes als die Deklaration. Sie werden feststellen, dass da sehr schnell sehr viele zusammen kommen, auch Konstanten, die haben den Namen schon drin stehen. Und bei größeren Programmen, das geht bei einigen - tausend Zeilen erst los. Da ist einiges so an zwischen speichern nötig, was Sie über verschiedene Formulare oder Prozeduren hinweg nicht immer wieder erfragen wollen. Diese sind Public. Das heißt, ich kann jetzt in das einfache Modul-Deklaration gehen. Ich schreibe das mal hier hinter und schreibe Sub FrageBenutzerNamen. Und der Einfachheit halber frage ich ihn mit einer so genannten InputBox. Das heißt, er kann gleich was eingeben. Also, P-Unterstrich. Das ist nebenbei sehr praktisch, diese "Ungarische Notation". Ich weise jetzt irgendeine Public Datei-öffentliche Variable. Die muss also mit P-Unterstrich anfangen, mit Str + Leertaste kriege ich die alle angeboten. Kann mit dem Cursor einen runtergehen, und mit Tab-Taste auswählen. Und das soll sein - gleich InputBox, Klammer auf und in Gänsefüsschen: "Wie heißen Sie?" Und das reicht erst mal, das wird die Frage sein. Das Ganze einmal sicherheitshalber speichern. Die Variable ist deklariert in einem anderen Modul, aber Public. Das heißt, ich kann diese Prozedur schon starten. Mit F5, dann werde ich gefragt und mit Ok wird das bestätigt, das ist jetzt in der Variablen enthalten. Um das zu prüfen, können Sie auch hier direkt im Direktbereich eine Variable oder eigentlich auch jede Funktion ausführen. Beziehungsweise, den Wert zurückgeben lassen oder setzen. Das Debug.Print heißt hier einfach "Fragezeichen". P-Unterstrich auch hier funktioniert, Str + Leertaste. Benutzername will ich wissen, mit Tab auswählen, das ist wie, als ob Sie in einem Modul schreiben würden, aber es lebt sozusagen. Wenn ich jetzt mit Return aus der Zeile rausgehe, antwortet die Zeile sofort mit dem Inhalt. Ich muss also keine eigene Prozedur schreiben, die das mit Debug.Print, so wie hier erzeugt, ich kann auch direkt hier nachfragen. Das ist also sehr praktisch, um jetzt hier Werte mal eben zu ermitteln. Was ich zeigen wollte, ist vor allem, dass Sie Datei-öffentliche Variablen hier in einem anderen Modul benutzen können, lesend oder wie hier schreibend. Der Unterschied zu anderen Variablen ist einfach nur die Sichtbarkeit. Lokale Variable sind sichtbar innerhalb Ihrer Prozedur und damit les- und schreibbar. Modul-öffentliche sind sichtbar innerhalb Ihres Moduls. Und Public, Datei-öffentliche sind innerhalb aller Module, sprich: der gesamten Datei, sichtbar. Auch wenn natürlich empfohlen ist die Sichtbarkeit möglichst klein zu halten, sind solche Public-Variablen durchaus praktisch. Sie sehen das schon hier an dem Namen: generelle Angaben, die am Anfang eines Programms ermittelt oder irgendwo ausgelesen werden, möchte man nicht immer wieder nachfragen. Vor allem, nicht wenn der Benutzer das immer wieder beantworten müsste. Deswegen pflege ich ein eigenes modVarKonst. Das DLL brauchen wir hier nicht, aber ich schreibe es schon mal hin, wie ich es normal benutze. Und dort sammle ich dies alle.

Excel 2013 VBA Grundkurs

Holen Sie aus Excel 2013 mit der integrierten Programmiersprache VBA auch das letzte Quäntchen an Funktion heraus und lassen Sie sich dazu zeigen, was alles möglich ist.

6 Std. 18 min (63 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!