Sub-Anweisung

Deklariert den Namen, die Argumente und den Code, die den Hauptteil einer Sub-Prozedur bilden.

Syntax

Sub name [(arglist)] 
   [statements]
   [Exit Sub]
   [statements]
End Sub 
  • Name: Name der Sub-Prozedur. Er folgt den Standardkonventionen zur Benennung von Variablen.

  • Arglist: Liste der Variablen, die Argumente darstellen, die beim Aufruf an die Sub-Prozedur übergeben werden. Mehrere Variablen werden durch Kommas getrennt.

  • Statements: Jede Gruppe von Anweisungen, die im Hauptteil der Sub-Prozedur ausgeführt werden sollen.

    Argumente:

    Das Argument "arglist" weist folgende Syntax und Teile auf:

    [ByVal | ByRef] varname[( )]

    • ByVal: Gibt an, dass das Argument als Wert übergeben wird.

    • ByRef: Gibt an, dass das Argument als Verweis übergeben wird.

    • Varname: Name der Variablen, die das Argument darstellt. Er folgt den Standardkonventionen zur Benennung von Variablen.

Anmerkungen

Wenn Sub-Prozeduren nicht explizit mit Public oder Private angegeben werden, sind sie standardmäßig öffentlich, d.h. für alle anderen Prozeduren in Ihrem Skript sichtbar. Der Wert lokaler Variablen in einer Sub-Prozedur wird zwischen Aufrufen der Prozedur nicht beibehalten.

Die "Exit Sub"-Anweisung bewirkt, dass eine Sub-Prozedur sofort beendet wird. Die Programmausführung wird mit der Anweisung fortgesetzt, die auf die Anweisung folgt, die die Sub-Prozedur aufgerufen hat. Eine beliebige Anzahl von "Exit Sub"-Anweisungen kann überall in einer Sub-Prozedur vorkommen.

Wie eine Function-Prozedur ist eine Sub-Prozedur eine separate Prozedur, die Argumente annehmen, eine Reihe von Anweisungen ausführen und den Wert ihrer Argumente ändern kann. Im Gegensatz zu einer Function-Prozedur, die einen Wert zurückgibt, kann eine Sub-Prozedur jedoch nicht in einem Ausdruck verwendet werden.

Sie rufen eine Sub-Prozedur mit dem Prozedurnamen gefolgt von der Argumentliste auf. Weitere Informationen zum Aufrufen von Sub-Prozeduren finden Sie in der Call-Anweisung.

Beispiel 1:

Sub mysub()
  'some statements
End Sub

Beispiel 2:

Sub mysub(argument1, argument2)
  'some statements
End Sub