Aufrufen von Unter- und FunktionsprozedurenCalling Sub and Function procedures

Zum Aufrufen einer Sub-Prozedur aus einer anderen Prozedur geben Sie den Namen der Prozedur und die Werte für alle erforderlichen Argumente ein.To call a Sub procedure from another procedure, type the name of the procedure and include values for any required arguments. Die Anweisung Aufrufen ist nicht erforderlich, aber wenn Sie sie verwenden, müssen Sie alle Argumente in Klammern einschließen.The Call statement is not required, but if you use it, you must enclose any arguments in parentheses.

Sie können eine Sub-Prozedur verwenden, um andere Prozeduren zu organisieren, sodass diese einfacher zu verstehen und zu debuggen sind.You can use a Sub procedure to organize other procedures so they are easier to understand and debug. Im folgenden Beispiel ruft die Sub-Prozedur Main die Sub-Prozedur MultiBeep auf, indem der Wert 56 für das Argument übergeben wird.In the following example, the Sub procedure Main calls the Sub procedure MultiBeep, passing the value 56 for its argument.

Wenn MultiBeep ausgeführt wird, wird die Steuerung an Main zurückgegeben und Main ruft die Sub-Prozedur Message auf.After MultiBeep runs, control returns to Main, and Main calls the Sub procedure Message. Message zeigt ein Meldungsfeld an. Wenn der Benutzer auf OK klickt, wird die Steuerung an Main zurückgegeben und Main wird beendet.Message displays a message box; when the user clicks OK, control returns to Main, and Main finishes.

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?Interested in developing solutions that extend the Office experience across multiple platforms? Schauen Sie sich das neue Office-Add-In-Modell an.Check out the new Office Add-ins model. Office-Add-ins haben im Vergleich zu VSTO-Add-Ins und Lösungen eine geringe Stellfläche, und Sie können Sie mit fast allen webprogrammier Technologien wie HTML5, JavaScript, CSS3 und XML erstellen.Office Add-ins have a small footprint compared to VSTO Add-ins and solutions, and you can build them by using almost any web programming technology, such as HTML5, JavaScript, CSS3, and XML.

Aufrufen von Unterprozeduren mit mehr als einem ArgumentCall Sub procedures with more than one argument

Im folgende Beispiel werden zwei Methoden zum Aufrufen einer Sub-Prozedur mit mehr als einem Argument dargestellt.The following example shows two ways to call a Sub procedure with more than one argument. Beim zweiten Aufruf müssen die Argumente in Klammern eingeschlossen werden, da die Anweisung Aufrufen verwendet wird.The second time it is called, parentheses are required around the arguments because the Call statement is used.

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 FunktionsprozedurenUse parentheses when calling function procedures

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.To use the return value of a function, assign the function to a variable and enclose the arguments in parentheses, as shown in the following example.

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.If you are not interested in the return value of a function, you can call a function the same way you call a Sub procedure. Lassen Sie die Klammern weg, listen Sie die Argumente auf und weisen Sie die Funktion keiner Variablen zu, wie im folgenden Beispiel gezeigt.Omit the parentheses, list the arguments, and do not assign the function to a variable, as shown in the following example.

MsgBox "Task Completed!", 0, "Task Box" 

Wenn Sie im vorangehenden Beispiel Klammern verwenden, löst die Anweisung einen Syntaxfehler aus.If you include parentheses in the preceding example, the statement causes a syntax error.

Übergeben von benannten ArgumentenPass named arguments

Eine Anweisung in einer Sub- oder Function-Prozedur kann Werte an aufgerufene Prozeduren mithilfe von benannten Argumenten übergeben.A statement in a Sub or Function procedure can pass values to called procedures by using named arguments. Sie können benannte Argumente in beliebiger Reihenfolge auflisten.You can list named arguments in any order. Ein benanntes Argument besteht aus dem Namen des Arguments gefolgt von einem Doppelpunkt und einem Gleichheitszeichen (: =) und dem Wert, der dem Argument zugewiesen wurde.A named argument consists of the name of the argument followed by a colon and an equal sign (:=), and the value assigned to the argument.

Das folgende Beispiel ruft die MsgBox-Funktion mithilfe von benannten Argumenten ohne Rückgabewert auf.The following example calls the MsgBox function by using named arguments with no return value.

MsgBox Title:="Task Box", Prompt:="Task Completed!" 

Das folgende Beispiel ruft die MsgBox-Funktion mithilfe von benannten Argumenten auf.The following example calls the MsgBox function by using named arguments. Der Rückgabewert wird der Variablen zugewiesen.The return value is assigned to the variable.

answer3 = MsgBox(Title:="Question 3", _ 
Prompt:="Are you happy with your salary?", Buttons:=4) 

Siehe auchSee also

Support und FeedbackSupport and feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.