Facebook iconTwitter icon

Nachádzate sa tu

Domov

12. If, ElseIf, Else podminka a InputBox

V predchádzajúcom tutoriáli sme si vysvetlili podstatu If, Esle podmienky. V tomto tutoriáli sa pozrieme na rozšírenie If, Else podmienky o ElseIf, čo Vám umožní stanoviť viacero podmienok vrámci jednej veľkej if podmienky.

V tomto prípade rozšírime príklad z predošlého tutorialu o minimálnu mzdu. Excel makro teda vyhodnotí, či zarábate menej ako je minimálna mzda, viac ako minimum a menej  ako priemer resp. viac ako priemer.

V predošlom tutoriáli sme pre načítanie hodnoy premennej "mzda" použili odkaz na bunku B3. V tomto tutoriáli použijeme InputBox (vyskakovacie okno pre zadanie zadanie hodnoty premmennej), ktorého syntax je nasledovná:

InputBox(“Správa pre užívateľa”,”Názov pre InputBox”)

Sub If_ElseIf()

    'nacitaj premennu mzda, z InputBox

    mzda = InputBox "Kolko zarabábaš?" “Program pre mzdu”

    'nastav If podmienku ktora bude vykonana v pripade ze do inputBoxu uzivatel zada hodnotu mensiu resp.rovnu  ako 350

    If mzda <= 350 Then

        MsgBox ("Tvoja mzda je " & mzda & "  EUR co je o " & 350 - mzda & " menej ako minimalna mzda")

        'podfarbi oblasť buniek na cerveno

        ThisWorkbook.Sheets("Sheet1").Range("A1:P150").Interior.Color = RGB(255, 0, 0)

      'nastav ElseIf podmienku ktora bude vykonana v pripade hodnota zadana do InputBox < 800

    ElseIf mzda < 800 Then

         MsgBox ("Tvoja mzda je " & mzda & "  EUR co je o " & 800 - mzda & " menej ako priemer")

        ThisWorkbook.Sheets("Sheet1").Range("A1:P150").Interior.Color = RGB(0, 255, 0)

    'Ak neplatí ani jedna z hore uvedených podmienok

    Else

         MsgBox ("Tvoja mzda je " & mzda & " EUR co je o " & mzda - 800 & " viac ako priemer")

         ThisWorkbook.Sheets("Sheet1").Range("A1:P150").Interior.Color = RGB(0, 0, 255)

   End If

End Sub

Samozrejme, že VBA ElseIf môžete použiť v podstate nobmedzene veľa krát, pričom si však treba uvedomiť, že z rastom ElseIf rastie aj komplikovanosť kódu. Treba si dať pozor na to, že každá If podmienka musí byť uzavretá výrazom End If.

Hotové Excel makro si môžete stiahnuť a otestovať jeho funkcionalitu. 

Reklamné odkazy

kosime.sk
Kosenie trávy, čistenie pozemkov a záhradnícke práce