Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Excel 2013 VBA Grundkurs

Sub-Prozeduren mit Argumenten

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Argumente, oft auch Parameter genannt, sind die programmtypische Methode, dass ein Unterprogramm verschiedene Werte bearbeiten kann. So müssen Sie nicht für jede Abweichung eine eigene Prozedur schreiben, sondern geben dieser jeweils passende Daten mit.

Transkript

Die bisherigen Prozeduren hatten keine Parameter. Sie können auch Argumente sagen, Parameter. Also, Werte, die ich einer Prozedur übergeben kann und die da drin weiter verarbeitet werden. Ich konnte nur die Prozedur aufrufen und das war es. Das soll natürlich anders werden. Ich mache einfach mal eine Kopie von dieser TestProzedur. Und nenne die jetzt TestProzedurMitParametern. Die darf ja nicht gleichnamig sein. Und das bedeutet, dass ich innerhalb der Klammern, die immer so erstaunlich leer geblieben sind, Variablen deklariere, im Grunde. Das, was ich da jetzt schreibe, ist eine Variablen-Deklaration. Deswegen halte ich mich an die üblichen Regeln. strMeldung As String, also mit Datentyp. Es ist eine Prozedur, eine Sub-Prozedur, deswegen hat sie keinen Rückgabewert. Also, dahinter nichts. Aber der erste und bisher einziger Parameter strMeldung ist As String als Zeichenkette vereinbart. Und wenn ich den jetzt nutzen will, ich mache das mal textlich ein bisschen schöner. "Das ist die Meldung", Doppelpunkt, bisschen Leerzeichen für den Abstand, verkettet mit. Und jetzt soll der Text, der dort übergeben wird, angezeigt werden. Also, rufe ich, wie normal, die Variable auf und die wird verkettet. Das Ganze können wir jetzt nicht mehr mit F5 testen, weil eine Parameterübergabe da nicht mehr möglich ist. Also, muss ich tatsächlich, z.B. ins Direktfenster wechseln und dort die Prozedur aufrufen. Also, rufe ich auf TestProzedur, Strg + Leertaste, mit Parametern und dann erst Tab. Und weil es eine Prozedur ist, werden die Parameter, obwohl die da oben in Klammern stehen bei der Definition, immer nach einem Leerzeichen aufgerufen. Und dann kommt das ganz normale Quick Info, was Sie auch bei der Message Box schon kennen. Und schlägt vor, dass Sie jetzt bitte den Parameter strMeldung übergeben müssen. Es ist eine Zeichenkette. Also, ein völlig beliebiger Text. Achten Sie bitte darauf, ich rufe eine Prozedur, eine Sub-Prozedur auf. Deswegen steht hier vorne kein Fragezeichen. Und schreibe einfach den Namen der Prozedur. Und wenn es sein muss, der Argumente. Und nach dem Return passiert genau das. Die Message Box wird aufgerufen und hier steht mein Text, den ich übergeben habe. Das ist, wenn man das häufiger testet, praktischer. Es können Sie genauso als eigene Testprozedur machen. Da steht dann nichts anderes drin, als TestProzedur, Strg + Leertaste, den Richtigen auswählen mit Cursor-Tasten, Tab-Taste und... ein Parameter übergeben. Diese Prozedur, denn die Prozedur selber, ist ja parameterfrei. Sie ruft nur eine andere mit Parametern auf. Diese Prozedur kann ich nach dem Speichern wiederum mit F5 starten. Das hat den Vorteil, wenn man die häufiger testen muss, muss man nicht hier unten immer wieder reinschreiben. Oder man kann ja die auch immer wieder aufrufen hier mit der Return-Taste. Oder das, wenn man Excel zwischendurch geschlossen hatte, das wieder neu schreiben. Also, eine Prozedur mit Parametern hat in den Klammern einfach eine Variable. Wenn man es ordentlich macht, hat die auch einen Datentyp. Das geht auch mit zwei Parametern. Ich mache einfach mal eine Kopie davon. Und das unten brauchen wir im Moment nicht. MitZweiParametern. Der zweite Parameter soll der Titel sein, der da drüber steht. Also, sagen wir, strTitel auch As String. Und dann muss ich einfach gucken, nach dem ersten Komma kommen diese Buttons als Argument. Nach dem zweiten Komma kommt der Titel. Und der übergebe ich einfach das strTitel als Argument. Auch dies lässt sich jetzt nicht wieder direkt aufrufen. Ich kopiere mir entsprechend diese Prozedur. Auch die darf nicht gleichnamig sein. Nenne ich also TesteDiesZwei. Und ein Test kriegt als zweites Argument. Ach, da ist noch der Falsche aufgerufen. Sehe ich hier, weil ich das zweite Argument vermisst habe. Ich muss natürlich auch hier mit zwei Parametern aufrufen. Es reicht, wenn Sie jetzt hier ein Z schreiben, Strg + Leertaste und dann weiß das Quick Info auch, dass er tatsächlich zwei Argumente hat. Nämlich hier das Zweite. Ich schreibe mal einfach Titel rein. Und das wiederum können wir testen, mit F5-Taste. Und da ist das erste Argument. Da ist das Zweite. Sinnvollerweise - ich habe ja für den Titel was vorgegeben - würde ich natürlich hier immer meine Konstante, die Public-Konstante, die für diesen Fall gedacht ist, einsetzen. Im Grunde, würde ich die sowieso nie als Parameter übergeben, sondern hier direkt hart verdrahten. Aber nur damit Sie sehen, dass es funktioniert, auch da steht jetzt korrekt die Version und meine Programmbezeichnung. Also, Prozeduren können beliebig viele Argumente haben. Eine Prozedur ohne Argument. Eine Prozedur mit einem Argument oder Parameter, was dasselbe ist. Und hier mit Zweien. Die Argumente werden in der Definition durch ein Komma getrennt und müssen später im Aufruf in gleicher Reihenfolge durch ein Komma getrennt werden. Natürlich sind auch andere Datentypen möglich, nicht nur As String. Es sind alle möglich, die hier sinnvoll nutzbar sind.

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!