Module
Contents
Index 🔎︎

# If...Then...Else Statement

Definierar ett eller flera statementblock som du bara vill köra om ett givet villkor är sant.

## Syntax:

    If villkor=true Then Satsblock [ElseIf villkor=true Then] Satsblock [Else] Satsblock EndIf

I stället för att skriva Else If så kan du skriva ElseIf, i stället för End If så kan du skriva EndIf.

## Parametrar:

If...Then-uttrycket kör programblock beroende på angivna villkor. När LibreOffice Basic påträffar ett If-uttryck prövas villkoret. Om villkoret är sant körs alla följande uttryck fram till nästa Else-uttryck eller ElseIf-uttryck. Om villkoret är falskt och ett ElseIf-uttryck följer så testar LibreOffice Basic nästa villkor och kör de följande uttrycken om villkoret är sant. Om villkoret är falskt fortsätter programmet med nästa ElseIf-uttryck eller Else-uttryck. Uttryck som följer efter Else körs bara om inget av de nyligen testade villkoren var sant. När alla villkor har utvärderats och motsvarande uttryck körts, fortsätter programmet med uttrycket som följer efter EndIf.

Du kan sammanfläta flera If...Then-satser.

Else-satser och ElseIf-satser är valfria.

Du kan använda GoTo och GoSub för att hoppa ut ur ett If...Then-block, men inte för att hoppa in i en If...Then-struktur.

Följande exempel visar hur du anger utgångsdatum för en produkt, och bestämmer om utgångsdatum har passerat.

## Exempel:

    Sub ExampleIfThenDate

    Dim sDate As String

    Dim sToday As String

        sDate = InputBox("Ange utgångsdatum (MM.DD.ÅÅÅÅ)")

        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 "Utgångsdatumet har varit"

        ElseIf sDate > sToday Then

            MsgBox "Utgångsdatumet har inte varit"

        Else

            MsgBox "Utgångsdatumet är i dag"

        End If

    End Sub