Modul
Indhold
Indholdsfortegnelse 🔎︎

# If...Then...Else-udtryk

Angiver en eller flere sætningsblokke, som du kun vil udføre, hvis en given betingelse er sand.

## Syntaks:

    If betingelse=true Then Sætningsblok [ElseIf betingelse=true Then] Sætningsblok [Else] Sætningsblok EndIf

I stedet for Else If kan du skrive ElseIf, i stedet for End If kan du skrive EndIf.

## Parametre:

Sætningen If...Then udfører programblokke afhængigt af givne betingelser. Når LibreOffice Basic møder en If- sætning, bliver betingelsen afprøvet. Hvis betingelsen er sand, vil alle efterfølgende sætninger op til næste Else eller ElseIf- sætning, blive udført. Hvis betingelsen er falsk, og en ElseIf sætning følger, så tester LibreOffice den næste betingelse og udfører følgende sætninger hvis betingelsen er sand. Hvis den er falsk, vil programmet fortsætte enten med næste ElseIf eller Else- sætning. Sætninger efterfølgende Else bliver kun udført hvis ingen af de tidligere afprøvede betingelser var sande. Efter at alle betingelser er validerede, og de tilsvarende sætninger udførte, fortsætter programmet med sætningen der følger EndIf.

Du kan indlejre gentagne If...Then- sætninger.

Else og ElseIf- sætninger er valgfrie.

Du kan bruge GoTo og GoSub for at hoppe ud af en If...Then- blok, men ikke til at hoppe ind i en If...Then struktur.

Følgende eksempel lader dig indtaste udløbsdatoen på et produkt, og bestemmer om udløbsdatoen er overskredet.

## Eksempel:

    Sub ExampleIfThenDate
    Dim sDate As String
    Dim sToday As String
        sDato = InputBox("Angiv udløbsdatoen (MM.DD.YYYY)")
        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 "Udløbsdatoen er overskredet"
        ElseIf sDate > sToday Then
            MsgBox "Udløbsdatoen er endnu ikke passeret"
        Else
            MsgBox "Udløbsdatoen er i dag"
        End If
    End Sub