|
Die Excel/VBA-Beispiele (incl. aller Arbeitsmappen: http://www.herber.de/samples/inhalt.html)
If...Then...Else-Anweisung
Führt eine Gruppe von Anweisungen aus, wenn bestimmte Bedingungen erfüllt sind, die vom Wert eines Ausdrucks abhängen. Syntax If Bedingung Then [Anweisungen] [Else elseAnweisungen] Alternativ können Sie die Block-Syntax verwenden: If Bedingung Then [ElseIf Bedingung-n Then [Else End If Die Syntax für die If...Then...Else-Anweisung besteht aus folgenden Teilen:
Bemerkungen Die einzeilige Variante (erste Syntax) bietet sich bei einfachen, kurzen Tests an. Die Blockvariante (zweite Syntax) ist dagegen strukturierter und flexibler als die einzeilige Variante und kann in der Regel leichter gelesen, gepflegt und getestet werden. Anmerkung°°°Die einzeilige Syntax erlaubt die Ausführung mehrerer Anweisungen als Ergebnis einer If...Then-Entscheidung. Dazu müssen sich aber alle Anweisungen in einer Zeile befinden und durch Doppelpunkte voneinander getrennt sein, wie in der folgenden Zeile: If A > 10 Then A = A + 1 : B = B + A : C = C + B Eine Anweisung für einen If-Block muß die erste Anweisung in einer Zeile sein. Vor den Schlüsselwörtern Else, ElseIf und End If der Anweisung ist nur eine Zeilennummer oder Zeilenmarke zulässig. Der If-Block muß mit einer End If-Anweisung beendet werden. Sie können feststellen, ob es sich bei der Anweisung um einen If-Block handelt, indem Sie den Code untersuchen, der dem Schlüsselwort Then folgt. Befindet sich hinter dem Then in derselben Zeile weiterer Code (außer einem Kommentar), so handelt es sich um einen einzeilige If-Anweisung. Die Abschnitte Else und ElseIf sind beide optional. In einem If-Block können Sie beliebig viele ElseIf-Abschnitte verwenden, nach einem Else-Abschnitt sind jedoch keine ElseIf-Abschnitte zulässig. If-Blöcke dürfen verschachtelt sein (also selbst wieder If-Blöcke enthalten). Bei der Ausführung eines If-Blocks (zweite Syntax) wird zunächst Bedingung überprüft. Ergibt Bedingung den Wert True, so werden die Anweisungen im Anschluß an Then ausgeführt. Ergibt Bedingung den Wert False, so werden die ElseIf-Bedingungen (sofern vorhanden) der Reihe nach ausgewertet. Sobald eine dieser Bedingungen True ergibt, werden die Anweisungen im Anschluß an das zugehörige Then ausgeführt. Ergibt keine der ElseIf-Bedingungen True (oder sind überhaupt keine ElseIf-Abschnitte vorhanden), so werden die Anweisungen im Anschluß an Else ausgeführt. Sobald die Anweisungen nach einem Then- oder Else-Abschnitt ausgeführt wurden, setzt das Programm die Ausführung mit der Anweisung im Anschluß an End If fort. Tip°°°Select Case kann in Situationen sinnvoll sein, in denen bei der Auswertung eines einzelnen Ausdrucks mehrere Entscheidungen getroffen werden müssen. Der Abschnitt TypeOf Objektname Is Objekttyp kann nicht zusammen mit der Select Case-Anweisung verwendet werden. Anmerkung TypeOf kann, außer mit Objekttypen, nicht mit harten Datentypen wie z.B. Long, Integer usw., verwendet werden. |