If..Then..Else

DIAdem 2018 Hilfe


Ausgabe: Juni 2018
Artikelnummer: 370858P-0113
Angaben zum Produkt anzeigen

DOWNLOAD (Nur Windows)


DIAdem 2012 Hilfe
DIAdem 2014 Hilfe
DIAdem 2015 Hilfe
DIAdem 2017 Hilfe
DIAdem 2018 Hilfe
DIAdem 2019 Hilfe

Die If..Then..Else-Bedingungsanweisung wertet einen logischen Ausdruck aus und führt in Abhängigkeit vom Ergebnis eine Reihe von Anweisungen aus.

If Condition Then Statements

Sie können auch die folgende flexible Syntax verwenden:

If Condition Then
  Statements
[ElseIf Condition_n Then
  elseif_Condition]
[Else
  else_Condition]
End If

Condition Ausdruck, der einen Vergleichsoperator zum Vergleichen eines Werts oder einer Variablen mit einem anderen Wert oder einer anderen Variablen verwendet. Das Ergebnis des Vergleichs ist entweder True oder False.
Statements Auszuführende Anweisung(en), wenn Bedingung den Wert True annimmt, also erfüllt ist.
Condition_n Ausdruck, der einen Vergleichsoperator zum Vergleichen eines Werts oder einer Variablen mit einem anderen Wert oder einer anderen Variablen verwendet. Das Ergebnis des Vergleichs ist entweder True oder False.
elseif_Condition Auszuführende Anweisung(en), wenn Condition_n den Wert True annimmt, also erfüllt ist.
else_Condition Auszuführende Anweisung(en), wenn keine der Bedingungen Condition oder Condition_n  den Wert True ergibt.

Beim Auftreten eines If-Blocks testet DIAdem die Bedingung. Ist die Bedingung erfüllt, führt DIAdem die auf Then folgenden Anweisungen aus. Bei nicht erfüllter Bedingung testet DIAdem, sofern vorhanden, nacheinander die einzelnen ElseIf-Bedingungen.

Bei erfüllter ElseIf-Bedingung führt DIAdem die auf das dazugehörige Then folgenden Anweisungen aus. Ist keine der ElseIf-Anweisungen erfüllt oder sind keine ElseIf-Anweisungen vorhanden, bearbeitet DIAdem die auf Else folgenden Anweisungen. Nach Ausführung der auf Then oder Else folgenden Anweisungen setzt DIAdem die Ausführung hinter der Anweisung fort, die auf End If folgt.

Else und ElseIf sind optional. Ein If-Block kann beliebig viele ElseIf-Abschnitte enthalten. Nach einem Else ist die Angabe von ElseIf unzulässig. Sie können If-Anweisungen nach Belieben verschachteln. Zum Ausführen mehrerer Anweisungen nutzen Sie die Blocksyntax. Diese Syntax enthält die End If-Anweisung. Ist im folgende Beispiel der Wert der Variablen rVal größer als 0, berechnet DIAdem einen neuen Wert und gibt eine Meldung aus:

Dim rVal, rNewVal
rVal = InputBox("Please enter a value")
If (rVal > 0) Then
  rNewVal = 1/rVal
  Call MsgBox("Reciprocal :" & rNewVal)
End If

Mit der If Then Else-Anweisung definieren Sie zwei Blöcke mit ausführbaren Anweisungen: Die Ausführung des ersten Blocks erfolgt, wenn die Bedingung erfüllt ist, die Ausführung des zweiten Blocks bei nicht erfüllter Bedingung. DIAdem berechnet im folgende Beispiel den Wert für rNewVal nur dann, wenn der logische Ausdruck rVal > 0 den Wert True ergibt. Im anderen Fall erscheint eine entsprechende Meldung:

Dim rVal, rNewVal
rVal = InputBox("Please enter a value")
If (rVal > 0) Then
  rNewVal = 1/rVal
  Call MsgBox("Reciprocal :" & rNewVal)
Else
  Call MsgBox("The calculation cannot be executed")
End If

Durch die zusätzliche Verwendung des Schlüsselworts ElseIf können Sie mehrere Alternativen berücksichtigen:

Dim rVal, rNewVal
rVal = InputBox("Please enter a value")
If (rVal = 0) Then
  Call MsgBox("The calculation cannot be executed")
ElseIf (rVal = 1) Then
  rNewVal = 1/15
ElseIf (rVal = 2) Then
  rNewVal = 2/25
Else
  rNewVal = 1/rVal
End If

Ist abhängig von einer Bedingung nur eine einzelne Anweisung auszuführen, können Sie auch die einzeilige Syntax verwenden. Ist der Wert der Variablen rVal kleiner als 0, erhält rVal den Wert 0:

If (rVal < 0) Then rVal = 0

Verwandte Themen

Do While...Loop | Do...Loop Until | Exit | For...Next | For Each...Next | If...Then...Else | Select Case...Case...End Select | While...Wend | With

WAR DIESER ARTIKEL HILFREICH?

Nicht hilfreich