|
Die Excel/VBA-Beispiele (incl. aller Arbeitsmappen: http://www.herber.de/samples/inhalt.html)
Sub-Anweisung
Deklariert den Namen, die Argumente und den Code für den Rumpf einer Sub-Prozedur. Syntax [Private | Public] [Static] Sub Name [(ArgListe)] End Sub Die Syntax der Sub-Anweisung besteht aus folgenden Teilen:
Das Argument ArgListe verwendet die folgende Syntax und die folgenden Teile: [Optional] [ByVal | ByRef] [ParamArray] VarName[( )] [As Typ] [= Standardwert]
Bemerkungen Sub-Prozeduren sind standardmäßig öffentlich, wenn sie nicht explizit mit Public oder Private festgelegt werden. Wird Static nicht angegeben, so bleiben die Werte lokaler Variablen zwischen den Aufrufen nicht erhalten. Vorsicht Sub-Prozeduren können rekursiv sein (d.h., sie rufen sich selbst auf, um eine bestimmte Operation durchzuführen). Rekursionen können jedoch zu Stapelüberläufen führen. Vermeiden Sie daher das Schlüsselwort Static in rekursiven Sub-Prozeduren. Der gesamte ausführbare Code muß sich in Prozeduren befinden. Innerhalb einer Sub-, Function- oder Property-Prozedur kann keine weitere Sub-Prozedur definiert werden. Das Schlüsselwort Exit Sub führt zum unmittelbaren Verlassen einer Sub-Prozedur. Die Programmausführung wird mit der Anweisung fortgesetzt, die auf die Anweisung folgt, die die Sub-Prozedur aufgerufen hat. Exit Sub-Anweisungen können beliebig oft an beliebigen Stellen innerhalb einer Sub-Prozedur verwendet werden. Wie bei einer Function-Prozedur handelt es sich bei der Sub-Prozedur um eine eigenständige Prozedur, die Argumente erhalten, eine Reihe von Anweisungen ausführen und die Werte der übergebenen Argumente ändern kann. Im Gegensatz zu einer Function-Prozedur, die einen Wert zurückgibt, kann eine Sub-Prozedur aber nicht in einem Ausdruck verwendet werden. Der Aufruf einer Sub-Prozedur erfolgt durch Angabe des Prozedurnamens gefolgt von der Argumentliste. In der Beschreibung der Call-Anweisung finden Sie weitere Informationen zum Aufrufen von Sub-Prozeduren. Variablen in Sub-Prozeduren können entweder explizit deklariert oder ohne Deklaration verwendet werden. Explizit (über Dim oder eine entsprechende Anweisung) in einer Prozedur deklarierte Variablen sind innerhalb dieser Prozedur immer lokal. Variablen, die in einer Prozedur verwendet, aber nicht dort deklariert werden, sind auch lokal, sofern sie nicht bereits explizit auf einer höheren Ebene außerhalb der Prozedur deklariert wurden. Vorsicht Eine Prozedur kann eine nicht explizit in der Prozedur deklarierte Variable zwar verwenden, aber es kann zu Namenskonflikten kommen, falls ein anderes auf Modulebene definiertes Element denselben Namen hat. Verwendet Ihre Prozedur eine nichtdeklarierte Variable mit einem Namen, der dem Namen einer anderen Prozedur, Konstanten oder Variablen entspricht, so wird die Variable als Verweis auf den Namen interpretiert, der auf Modulebene definiert wurde. Deklarieren Sie Variablen explizit, um derartige Konflikte zu vermeiden. Mit der Anweisung Option Explicit können Sie die explizite Deklaration von Variablen erzwingen. Anmerkung Eine Sub-Prozedur können Sie nicht mit GoSub, GoTo oder Return aufrufen oder verlassen. |