Aufrufen von Unter- und Funktionsprozeduren
Zum Aufrufen einer Sub-Prozedur aus einer anderen Prozedur geben Sie den Namen der Prozedur und die Werte für alle erforderlichen Argumente ein. Die Anweisung Aufrufen ist nicht erforderlich, aber wenn Sie sie verwenden, müssen Sie alle Argumente in Klammern einschließen.
Sie können eine Sub-Prozedur verwenden, um andere Prozeduren zu organisieren, sodass diese einfacher zu verstehen und zu debuggen sind. Im folgenden Beispiel ruft die Sub-Prozedur Main
die Sub-Prozedur MultiBeep
auf, indem der Wert 56 für das Argument übergeben wird.
Wenn MultiBeep
ausgeführt wird, wird die Steuerung an Main
zurückgegeben und Main
ruft die Sub-Prozedur Message
auf.
Message
zeigt ein Meldungsfeld an. Wenn der Benutzer auf OK klickt, wird die Steuerung an Main
zurückgegeben und Main
wird beendet.
Sub Main()
MultiBeep 56
Message
End Sub
Sub MultiBeep(numbeeps)
For counter = 1 To numbeeps
Beep
Next counter
End Sub
Sub Message()
MsgBox "Time to take a break!"
End Sub
Hinweis
Haben Sie Interesse an der Entwicklung von Lösungen, mit denen die Funktionen von Office über mehrere Plattformen erweitert werden können? Schauen Sie sich das neue Office-Add-In-Modell an. Office-Add-Ins haben im Vergleich zu VSTO-Add-Ins und -Lösungen einen geringen Platzbedarf. Sie können sie mit fast jeder Web-Programmiertechnologie erstellen, z. B. HTML5, JavaScript, CSS3 und XML.
Aufrufen von Unterprozeduren mit mehr als einem Argument
Im folgende Beispiel werden zwei Methoden zum Aufrufen einer Sub-Prozedur mit mehr als einem Argument dargestellt. Beim zweiten Aufruf müssen die Argumente in Klammern eingeschlossen werden, da die Anweisung Aufrufen verwendet wird.
Sub Main()
HouseCalc 99800, 43100
Call HouseCalc(380950, 49500)
End Sub
Sub HouseCalc(price As Single, wage As Single)
If 2.5 * wage <= 0.8 * price Then
MsgBox "You cannot afford this house."
Else
MsgBox "This house is affordable."
End If
End Sub
Verwenden von Klammern beim Aufruf von Funktionsprozeduren
Wenn Sie den Rückgabewert einer Funktion verwenden möchten, weisen Sie die Funktion einer Variablen zu und setzen Sie die Argumente in Klammern, wie im folgenden Beispiel gezeigt.
Answer3 = MsgBox("Are you happy with your salary?", 4, "Question 3")
Wenn Sie den Rückgabewert einer Funktion nicht verwenden möchten, können Sie eine Funktion auf die gleiche Weise aufrufen wie eine Sub-Prozedur. Lassen Sie die Klammern weg, listen Sie die Argumente auf und weisen Sie die Funktion keiner Variablen zu, wie im folgenden Beispiel gezeigt.
MsgBox "Task Completed!", 0, "Task Box"
Wenn Sie im vorangehenden Beispiel Klammern verwenden, löst die Anweisung einen Syntaxfehler aus.
Übergeben von benannten Argumenten
Eine Anweisung in einer Sub- oder Function-Prozedur kann Werte an aufgerufene Prozeduren mithilfe von benannten Argumenten übergeben. Sie können benannte Argumente in beliebiger Reihenfolge auflisten. Ein benanntes Argument besteht aus dem Namen des Arguments gefolgt von einem Doppelpunkt und einem Gleichheitszeichen (: =) und dem Wert, der dem Argument zugewiesen wurde.
Das folgende Beispiel ruft die MsgBox-Funktion mithilfe von benannten Argumenten ohne Rückgabewert auf.
MsgBox Title:="Task Box", Prompt:="Task Completed!"
Das folgende Beispiel ruft die MsgBox-Funktion mithilfe von benannten Argumenten auf. Der Rückgabewert wird der Variablen zugewiesen.
answer3 = MsgBox(Title:="Question 3", _
Prompt:="Are you happy with your salary?", Buttons:=4)
Siehe auch
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.