If...Then...Else-uttrykket

Innhald

# If…Then…ElseIf-uttrykket

Definerar ei eller fleire uttrykksblokker som berre vert køyrde viss det gjevne vilkåret vert oppfylt (er True).

### Syntaks:

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

I staden for End If kan du skriva EndIf.

If-uttrykket kan kortast ned til ei linje når enkle uttrykksblokker vert brukte.

      If condition Then statement [Else statement]

### Parametrar:

Uttrykket If … Then utfører programblokker avhengig av dei gjevne vilkåra. Når LibreOfficeDev Basic oppdagar eit If-uttrykk, vert vilkåra testa. Viss vilkåret er SANN (True) vert alle etterfølgjande uttrykka fram til neste Else eller ElseIf utførte. Viss vilkåret er USANN (False) og det neste uttrykket er ElseIf, vil LibreOfficeDev Basic testa det neste vilkåret og utføre det neste uttrykket viss vilkåret er True. Dersom dette vilkåret er False, går programmet vidare til anten neste Else eller ElseIf. Uttrykk etter Else vert utførte berre viss ingen av dei tidlegare testane er True. Når alle uttrykka er kontrollerte, vil programmet utføra uttrykket som kjem etter EndIf.

Du kan fletta saman fleire If … Then uttrykk.

Else og ElseIf er valfrie.

Det er råd å gå ut av ei If … Then blokk med GoTo og GoSub, men det er ikkje råd å gå inn i ein If … Then struktur.

### Eksempel:

Eksempelet nedanfor viser korleis du kan skriva inn ein sluttdato for eit produkt og kontrollera om denne dagen er overskride.

    Sub ExampleIfThenDate
        Dim sInput As String
        Dim dInput As Date

      Ved feil gå til inputError
        sInput = InputBox("Skriv inn utløpsdatoen (ÅÅÅÅ-MM-DD)")
        dInput = DateValue(sInput)

        If dInput < Date() Then
            MsgBox "Sluttdatoen er overskride"
        ElseIf dInput > Date() Then
            MsgBox "Sluttdatoen er ikkje nådd"
        Else
            MsgBox "Sluttdatoen er i dag"
        End If

    inputError:
        If dInput = 0 Then MsgBox "Ugyldige inndata"
    End Sub

Liknande emne

Select Case-uttrykket

Iif eller Switch-funksjonar

Støtt oss!