IT Fjernundervisning

Betingelser

Beskrivelse

Betingelser

Nu har vi lært at stille spørgsmål til brugeren - så skal vi også kunne reagere på det. Til det brug har vi flere muligheder:

If betingelse Then   Kommandoer  Else    Kommandoer  End if
If betingelse Then    Kommandoer  Elseif ny betingelse Then    Kommandoer  Else    Kommandoer  End if
Select Case Variabel    Case værdi      Kommandoer    Case værdi      Kommandoer    Case værdi       Kommandoer    Case værdi      Kommandoer    Case Else          Kommandoer  End Select

Bemærk, at det er god kodestil, at lave indryk, så man kan se hvordan If og End if hænger sammen.

Man kan også holde if sætningerne på én linje hvis man kun har én kommendo i linjen - det gør koden lidt mere kompakt og måske letter at læse...

If betingelse Then Kommando
If betingelse Then Kommando Else Kommando 

Og der findes også en funktion, der minder om Excel's hvis funktion

Iif(Betingelse, sand værdi, falsk værdi)
stBesked = IIf(stLand = "Danmark", "Hej med dig", "Hello")

Et eksempel på anvendelse af If sammen med f.eks. MsgBox kunne se sådan her ud:

Excel VBA kursus - eksempel på brug af if - fjernundervisning

Bemærk, at der igen dukkede én af disse indbyggede konstanter op (vbYes). Hvis du gerne vil se alle de konstanter, der er defineret i VBA skal du trykke på F1 for at komme ind i hjælpefunktionen. Hvis du vælger Contents fanen hedder den første kategori Constants og her kan du finde alle de konstanter der er defineret i VBA.

Og et eksempel på Select Case konstruktionen kunne se sådan her ud:

Excel VBA kursus - eksempel på brug af select case - fjernundervisning

 

 


Øvelse

Lav et regneark, der hedder "Betingelser.xlsm". Skriv følgende makroer i regnearket:

  1. Skriv en makro, der skaber denne dialog

    Hvis brugeren svarer nej

    Ellers:


    Hvis tallet er mellem 1 og 5

    Og mellem 5 og 10

    Mellem 10 og 20

    Og større end 20
  2. Sørg igen for at makroen kan køre fra en knap i arket

Send regnearket til mig.


Løsning

Hent mit løsningsforslag her.

Og min kode ser sådan her ud:

Sub Betingelser()     svar = MsgBox("Skal vi gå i gang?", vbYesNo, "Velkommen")     If svar = vbNo Then         MsgBox "ØV"     Else         MsgBox "Meget fint"         antal = InputBox("Hvor mange gange skal vi køre?", "Så kører vi", "10")         Select Case antal             Case 1 To 5                 MsgBox "Det var ikke mange"             Case 6 To 10                 MsgBox "Tja... det er sikkert fint"             Case 11 To 20                 MsgBox "Det var mange - det er jeg ikke sikker på jeg kan klare"             Case Else                 MsgBox "Det går ikke!"         End Select     End If End Sub

Bemærk, hvordan koden er sat op. Det er meget vigtigt, at man laver denne indrykning da koden ellers bliver totalt ulæselig.

Brug for hjælp til VBA, VSTO eller SQL?

Scient Data tilbyder professionel IT-konsulentbistand

Kontakt Scient Data →