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|Else If} expression Then
          statements]
      [Else
          statements]
      {EndIf|End If}

Zamiast Else If możesz napisać ElseIf, 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 sDate As String
        Dim sToday As String
        sDate = InputBox("Wprowadź termin ważności (MM.DD.RRRR)")
        sDate = Right$(sDate, 4) + Mid$(sDate, 4, 2) + Left$(sDate, 2)
        sToday = Date$
        sToday = Right$(sToday, 4)+ Mid$(sToday, 4, 2) + Left$(sToday, 2)
        If sDate < sToday Then
            MsgBox "Termin przydatności minął."
        ElseIf sDate > sToday Then
            MsgBox "Termin przydatności nie minął."
        Else
            MsgBox "Termin przydatności mija dzisiaj."
        End If
    End Sub

Tematy pokrewne

Instrukcja Select Case

Funkcje Iif lub Switch