Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Excel 2016 VBA Grundkurs

Sub-Prozeduren mit Argument

LinkedIn Learning kostenlos und unverbindlich testen!

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

Transkript

Bisher sind es nur Prozeduren ohne Parameter, das heißt ich rufe den Prozedurnamen auf und das war es. Sie sehen aber hier schon im Beispiel, es gibt natürlich auch Prozeduren, die Parameter haben. Dazu werde ich die ein klein bisschen erweitern, ich schiebe das dann ein bisschen nach unten, dann bleibt es erhalten und stört aber nicht. Ich mache eine Sub TestMeldung, und würde normalerweise jetzt die Message Box reinschreiben, mit Gänsefüßchen aber: Das ist eine Meldung. Genau das hier ist auch schon ein Parameter für die Prozedur Message Box. Das soll aber flexibler werden, ich möchte dort einen Text übergeben können. Also normalerweise, ich schreibe schon mal die Testprozedur dazu Sub TesteDieseTestmeldung Normalerweise würde ich das jetzt so aufrufen, Testmeldung, kein Parameter wenn ich die Leertaste jetzt drücke, erscheint auch kein QuickInfo oder so etwas. Technisch ist es gerade alles in Ordnung. Wenn ich es kompilieren lasse, kein Problem. Aber ich möchte einen Text übergeben dürfen. Dazu schreibe ich jetzt zwischen den Klammern eine Variablendeklaration. Darauf läuft es im Endeffekt hinaus. Also ich nenne das jetzt einfach "StrText" und eine anständige Variablendeklaration, hat auch einen Datentyp. Also: As String. Und diese kann ich jetzt hier, ich mach dort mal ein bisschen verkettet dran, also zwei Texte zusammensetzen, diese Variable kann ich jetzt hier nutzen. Das heißt die kommt hier oben rein, und was immer da rein gefüllt wird wird jetzt hier dran gehängt. Und damit ich dort etwas reinfüllen kann, muss ich diesen Parameter jetzt auch aufrufen und dieses Mal ist nach dem Leerzeichen ein Quick Info und sagt mir, es gibt einen Parameter und der ist ein Textdatentyp und da kann ich etwas Beliebiges reinschreiben. Das wird also von diesem Aufruf da weiter gereicht und hier benutzt. Wenn ich das jetzt ausführe, also diese Testmeldung, diese kann ich jetzt nicht mehr mit F5 starten, weil da drin ein Parameter verlangt wird. Die einzige Chance wäre noch mit Testmeldung hier irgendetwas zu übergeben und mit Return zu bestätigen. Sie werden gleich sehen, das funktioniert auch. Einmal Return. Da ist meine wunderbare Meldung. Aber das ist auf Dauer lästig hier unten, achten Sie darauf, kein Fragezeichen davor, wie Sie es bei anderer Gelegenheit sehen werden. Deswegen schreibe ich gern solche Testprozeduren. Wenn ich die also mit F5 starte, sie selber ist ja parameterlos, dann wird die andere aufgerufen und führt genau das aus. Also eine Testmeldung, die einen Parameter hat. Es gibt keine Probleme auch zwei Parameter zu machen, diese schreiben Sie einfach hintereinander weg. Und da muss es auch nicht der String sein, es ist jede andere auch erlaubt. Sagen wir mal IntNummer As Integer und dann schreibe ich jetzt hier mal: Das ist die Meldung Nummer und jetzt wird hier dazwischen geschrieben Int. Nummer, verkettet mit und hier Gänsefüßchen wieder auf. Es ist also insgesamt ein Stückchen Text. Dann kommt die Zahl die ich übergebe, dann kommt wieder ein Stückchen Text, und dann kommt wieder der Parameter, dieses Mal der Erste. Die müssen nicht die gleiche Reihenfolge haben aber hier sehen Sie jetzt nach dem Komma, da wird jetzt der zweite verlangt, mit einer beliebigen Integer Nummer. Der muss auch gefüllt werden, sonst gäbe es ein Laufzeitfehler. Und wenn ich dieses hier mit F5 starte, dann sehen Sie, das ist meine Meldung Nummer 99 und hier mein Parameter. Sie können also an der Stelle sehr flexible Prozeduren schreiben, in dem Sie die Teile, die sich ändern als Parameter übergeben. Gerade bei Meldungen ist das durchaus sinnvoll, dass es zum Beispiel so etwas gibt, das heißt hier dann Sub. Meine Standardmeldung. Das würde ich im wirklichen Leben wahrscheinlich kürzer formulieren, und der erste Parameter ist strText und das können wir auch ruhig als einzigen Parameter lassen. In dieser Standardmeldung steht dann schon alles drin, was ich brauche. Der Text lautet: "Irgendetwas Schlaues, was dort steht". dann vielleicht einen Zeilenumbruch. VB Carriage Return Line Feed liest sich das. Visual Basic Konstante, Carriage Return ist der Walzenvorlauf und Line Feet ist der Zeilenvorschub. Also vbcrlf macht im Ergebnis eine neue Zeile und dort wird der Text rein gepackt. Dann will ich dafür sorgen, dass es direkt mit vbInformation, das passende Bild anzeigt, Komma, und da besitze ich ja so eine globale Konstante, die für den Message-Box Titel zuständig ist. Und das alles muss ich nicht schreiben, sondern nur diesen Text übergeben. Wenn ich dann irgendeine Meldung habe mitten in meinem Code, dann würde ich, beliebiger Code, irgendwas ausführen, und dann muss ich eine Meldung machen, da nutze ich einfach meine Standardmeldung. Das ist eine Meldung zwischendurch. Dann kann ich mich auf den Text konzentrieren, ohne dass ich den ganzen Rest hier angeben muss. Wenn ich dieses ausführe, dann sieht es aber geplant schön aus. Das hat also hier vbInformation, es hat hier den Titel drüber und wenn ich will, auch noch andere Schaltflächen, ohne dass ich das jedes Mal eingeben muss. Also eine eigene Prozedur mit einem Parameter, der dafür sorgt, dass sie flexibel ist und an der richtigen Stelle, das Richtige einbaut.

Excel 2016 VBA Grundkurs

Lassen Sie sich systematisch in die Excel-Programmierung mit Visual Basic for Applications (VBA) einführen.

7 Std. 25 min (66 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:30.08.2016

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!