Excel 2013 VBA Grundkurs

Modul-öffentliche Variablen

Testen Sie unsere 1985 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Sollen sich mehrere Prozeduren gemeinsame Variablen teilen, können Sie diese als Modul-öffentlich deklarieren. Dann sind sie wenigstens vor versehentlichem Zugriff aus anderen Modulen heraus geschützt.

Transkript

Sie sehen hier zwei Prozeduren mit lokalen Variablen, die auch lästigerweise, muss ich sagen, gleichnamig sind. Und es wäre natürlich schön, wenn man auch Variablen haben könnte, die übergreifend funktionieren. Also mache ich das mal. Das kann ruhig im gleichen Modul sein. Ich schiebe die mal nach unten, damit ich da oben Platz habe. Die erste Variable wird in der Prozedur SetzeWert benutzt. Also, Sub SetzeWert. Und es soll die gleiche Variable den Wert in einer anderen Prozedur anzeigen können. Also, übergreifen Sub ZeigeWert. Das wird mit der Technik hier unten nicht funktionieren, denn diese Variablen kennen sich ja nicht. Der Trick ist, dass die Variable außerhalb, und zwar davor, außerhalb der Prozeduren in einem Modul deklariert wird. Also, Dim, und dann schreibe ich schon mal anständigerweise intWertAsInteger. Und Sie werden jetzt feststellen, wenn ich die Zeile verlasse, mit Tab auswähle und verlasse, dann wird hier ein Trennstrich angezeigt, der vortäuscht, dass der Unterstrich hier fehlen würde. Nur deswegen mache ich jetzt hier ein Kommentarzeichen, damit Sie deutlich sehen, dass der Unterstrich dort ist. Diese Variable ist jetzt Modul-öffentlich einfach deswegen, weil sie außerhalb von Prozeduren am Anfang eines Moduls deklariert wurde. Und ich kann ohne Bedenken hier M-Unterstrich, Strg + Leertaste, den Variablenwert auf irgendeine Zahl setzen und ihn hier unten ausdrucken. Damit Sie sehen, dass das wirklich voneinander abhängig ist... Dies ist eine Integer-Variable, die ist standardmäßig mit Null vorgesetzt. Werde ich zuerst diese starten, nach dem Speichern natürlich. Also, hier reinklicken und F5. Und Sie sehen, noch ist der Wert - Null. Jetzt werde ich diese starten mit F5 oder da oben reinklicken. Davon sehen Sie nichts. Aber wenn ich jetzt die gleiche hier unten nochmal mit F5 starte, dann hat sie jetzt tatsächlich den Wert angenommen. Es ist also möglich die Variablen einer Prozedur mit einem Wert zu versehen und in einer anderen Prozedur auszulesen, verändern oder was immer Sie wollen. Das klingt gut, hat aber ein gewisses Risiko. Nur das ich das mal beispielhaft erläutere. Sie können sich das so vorstellen, als ob Sie Ihr Portemonnaie zum Geldwechseln benutzen. Jemand fragt Sie, ob Sie ein zehn Euro Schein wechseln können, Sie greifen in Ihr Portemonnaie und wechseln ihn, nehmen den Schein an und geben ein paar Münzen raus. Das ist eine lokale Variable. Der Wechsel findet innerhalb Ihres Portemonnaies statt, so zu sagen, unter Ihrer Aufsicht. Sie sind die Prozedur, die es im Griff hat. Für eine öffentliche, und zwar egal Modul oder später noch Datei-öffentliche Variable, heißt das: Sie legen Ihr Portemonnaie auf eine belebte Straße und jeder, der Geld wechseln möchte, darf da drangehen. Die eine Prozedur: irgendjemand legt ein 10 Euro Schein rein, und die andere Prozedur: jemand anders nimmt sich dafür ein paar Münzen raus. Und ich drücke Ihnen fest fest die Daumen, dass am Ende noch Geld im Portemonnaie ist. Öffentliche Variablen bedeuten immer, dass nicht unerheblich Risiko, dass Sie versehentlich, nicht boshaft, sondern eher versehentlich, zu einem Zeitpunkt auf eine Variable zugreifen, wo Sie glauben, dass da schon was drin steht, oder das Richtige. Das tut es aber vielleicht noch gar nicht. Weil eben jederzeit jede andere Prozedur darauf zugreifen kann. Es gibt gute Gründe, warum Sie öffentliche Variablen einsetzen. z.B. dass Sie tatsächlich sich über die Laufzeit mehrerer Prozeduren hinweg Werte merken müssen. Bei Formularen ist es so. Aber Sie sollten sie dann möglichst wenig öffentlich halten. Also nur, wie hier, Modul-öffentlich und nicht auch noch Datei-öffentlich. Wenn es geht, die kleinste Sichtbarkeit. Also erstens, lokal. Zur Not, Modul-öffentlich. Und wenn es denn sein muss, global Public, also Datei-öffentlich. Aber immer die kleinste Sichtbarkeit. Modul-öffentliche Variablen werden einfach so deklariert, dass Sie im Modul, am Anfang des Moduls außerhalb einer Prozedur das Dim schreiben.

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!