Spis treści

# Instrukcja If...Then...Else

Określa jeden lub więcej bloków instrukcji, które chcesz wykonać tylko wtedy, gdy dany warunek lub wyrażenie jest True.

### Składnia:

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

Zamiast End If możesz napisać EndIf.

Instrukcje If można skrócić do jednej linii, gdy używane są pojedyncze bloki instrukcji.

      If condition Then statement [Else statement]

### Parametry:

Instrukcja If...Then wykonuje bloki programu w zależności od zadanych warunków. Gdy LibreOffice Basic napotyka instrukcję If, warunek jest sprawdzany. Jeśli warunek to True, wykonywane są wszystkie kolejne instrukcje aż do następnej instrukcji Else lub ElseIf. Jeśli warunek to False i następuje instrukcja ElseIf, LibreOffice Basic sprawdza następne wyrażenie i wykonuje następujące instrukcje, jeśli warunek to True. Jeśli False, program kontynuuje z następną instrukcją ElseIf albo Else. Instrukcje następujące po Else są wykonywane tylko wtedy, gdy żaden z wcześniej przetestowanych warunków nie był True. Po obliczeniu wszystkich warunków i wykonaniu odpowiednich instrukcji program kontynuuje wykonywanie instrukcji następującej po EndIf.

Instrukcje If...Then można zagnieżdżać.

Instrukcje Else i ElseIf są opcjonalne.

Aby wyskoczyć z bloku If...Then, można użyć poleceń GoTo i GoSub. Nie można natomiast używać, aby przejść do struktury If...Then.

### Przykład:

Poniższy przykład pozwala na wprowadzenie terminu ważności produktu i określa, czy termin ten minął.

    Sub ExampleIfThenDate
        Dim sInput As String
        Dim dInput As Date

      On Error Goto inputError
        sInput = InputBox("Wprowadź datę ważności (YYYY-MM-DD)")
        dInput = DateValue(sInput)

        If dInput < Date() Then
            MsgBox "Termin przydatności minął."
        ElseIf dInput > Date() Then
            MsgBox "Termin przydatności nie minął."
        Else
            MsgBox "Termin przydatności mija dzisiaj."
        End If

    inputError:
        If dInput = 0 Then MsgBox "Nieprawidłowe dane wejściowe"
    End Sub

Tematy pokrewne

Instrukcja Select Case

Funkcje Iif lub Switch

Prosimy o wsparcie!