Příkaz If...Then...Else

Určuje jeden či více bloků příkazů, které chcete spustit, pouze je-li daná podmínka nebo výraz True.

Syntaxe:

Příkaz If...EndIf

If condition Then
    statements
[{ElseIf} condition Then
    statements]
[Else
    statements]
{EndIf|End If}

Místo End If můžete psát EndIf.

tip

Pokud použijete v každém bloku jediný příkaz, lze If zkrátit na jeden řádek.


If condition Then statement [Else statement]

Parametry:

Příkaz If...Then spustí blok příkazů v závislosti na dané podmínce. Když LibreOffice Basic narazí na příkaz If, ověří podmínku. Je-li podmínka True, spustí se všechny následující příkazy až do příštího příkazu Else nebo ElseIf. Je-li podmínka False a následuje příkaz ElseIf, LibreOffice Basic ověří podmínku a spustí následující příkazy, je-li podmínka True. Je-li False, program přeskočí příkazy až k dalšímu příkazu ElseIf nebo Else. Příkazy následující za příkazem Else se spustí pouze tehdy, nebyla-li žádná z předchozích podmínek True. Po vyhodnocení všech podmínek a spuštění odpovídajících příkazů pokračuje program příkazy následujícími po EndIf.

Možné je do sebe vložit více příkazů If...Then.

Příkazy Else a ElseIf jsou volitelné.

Ikona upozornění

Pomocí příkazů GoTo a GoSub je možné vyskočit z bloku If...Then, ale není možné skočit do struktury If...Then.


Příklad:

Následující příklad vám umožní zadat datum konce trvanlivosti výrobku a určí, zda již toto datum bylo překročeno.

Sub ExampleIfThenDate
    Dim sInput As String
    Dim dInput As Date

  On Error Goto inputError
    sInput = InputBox("Zadejte datum trvanlivosti (YYYY-MM-DD)")
    dInput = DateValue(sInput)

    If dInput < Date() Then
        MsgBox "Trvanlivost již vypršela"
    ElseIf dInput > Date() Then
        MsgBox "Trvanlivost ještě nevypršela"
    Else
        MsgBox "Datum trvanlivosti je dnes"
    End If

inputError:
    If dInput = 0 Then MsgBox "Neplatný vstup"
End Sub

Příkaz Select Case

Funkce Iif nebo Switch

Podpořte nás!