Gewusst wie: Erstellen einer Prozedur
Aktualisiert: November 2007
Eine Prozedur wird von einer einleitenden Deklarationsanweisung (Sub oder Function) und einer abschließenden Deklarationsanweisung (End Sub oder End Function) eingeschlossen. Der gesamte Code der Prozedur befindet sich zwischen diesen Anweisungen.
Eine Prozedur kann keine andere Prozedur enthalten, deshalb müssen sich ihre einleitenden und abschließenden Anweisungen außerhalb jeder anderen Prozedur befinden.
Wenn Ihr Code die gleiche Aufgaben an verschiedenen Stellen ausführt, können Sie die Aufgabe einmal als Prozedur schreiben und sie anschließend von verschiedenen Codeabschnitten aus aufrufen.
So erstellen Sie eine Prozedur, die keinen Wert zurückgibt
Verwenden Sie außerhalb anderer Prozeduren eine Sub-Anweisung, auf die eine End Sub-Anweisung folgt.
Geben Sie in der Sub-Anweisung nach dem Sub-Schlüsselwort den Namen der Prozedur und danach die Parameterliste in runden Klammern ein.
Setzen Sie die Codeanweisungen der Prozedur zwischen die Sub-Anweisung und die End Sub-Anweisung.
So erstellen Sie eine Prozedur, die einen Wert zurückgibt
Verwenden Sie außerhalb anderer Prozeduren eine Function-Anweisung, auf die eine End Function-Anweisung folgt.
Geben Sie in der Function-Anweisung nach dem Function-Schlüsselwort den Namen der Prozedur, die Parameterliste in Klammern und anschließend eine As-Klausel ein, mit der der Datentyp des Rückgabewerts festgelegt wird.
Setzen Sie die Codeanweisungen der Prozedur zwischen die Function-Anweisung und die End Function-Anweisung.
Verwenden Sie eine Return-Anweisung, um den Wert an den Aufrufcode zurückzugeben.
So verbinden Sie die neue Prozedur mit den alten wiederkehrenden Codeblöcken
Definieren Sie die neue Prozedur an einer Stelle, an der der alte Code darauf zugreifen kann.
Ersetzen Sie im alten wiederkehrenden Codeblock die Anweisungen zur Durchführung der wiederkehrenden Aufgabe durch eine Anweisung, die die Sub-Prozedur oder die Function-Prozedur aufruft.
Wenn es sich bei der Prozedur um eine Function-Prozedur handelt, die einen Wert zurückgibt, müssen Sie sicherstellen, dass die aufrufende Anweisung eine Aktion mit dem zurückgegebenen Wert ausführt, dass der Wert z. B. in einer Variablen gespeichert wird. Andernfalls geht der Wert verloren.
Beispiel
Mit der folgenden Function-Prozedur wird die längste Seite (die Hypotenuse) eines rechtwinkligen Dreiecks anhand der Werte der beiden anderen Seiten berechnet.
Function hypotenuse(ByVal side1 As Single, ByVal side2 As Single) As Single
Return Math.Sqrt((side1 ^ 2) + (side2 ^ 2))
End Function
Siehe auch
Aufgaben
Gewusst wie: Unterteilen umfangreicher Codeabschnitte in kleinere Abschnitte
Konzepte
Parameter und Argumente von Prozeduren