zpět

Hlavní stránka

Poslední aktualizace: 25.06.2004

Logické funkce

And - A

Tato funkce vrátí hodnotu Pravda, pokud všechny její argumenty mají hodnotu Pravda,
jinak vrátí hodnotu Nepravda

Syntaxe:

argument1 And argument1

Příklad:

Sub Test_A()
Dim A, B, C, D
Dim E, F, G, H, VysledekE, VysledekF, VysledekG, VysledekH

A = 10: B = 8: C = 6: D = Null ' Iniciace proměnných

If A > B And B > C Then
E = True
Else
E = False
End If
VysledekE = E ' Vrátí True.

If B > A And B > C Then
F = True
Else
F = False
End If
VysledekF = F ' Vrátí False.

If A > B And B > D Then 'D je Null.
G = True
Else
G = False
End If
VysledekG = G ' Vrátí False.

If A And B Then
H = True
Else
H = False
End If
VysledekH = H ' Vrátí True.

End Sub

 

If...Then...Else - Když

'Tato funkce je alternativou funkci Když, která je v Excelu, _
avšak funkce Když, která je v Excelu se může v jednom vzorci zanořit jen 7x - takže max. 8 x Když _
Jak uvidíte je zápis ve VBA mnohem přehlednější

Syntaxe:

If Podmínka Then
Akce při splnění podmínky
Else
Akce při nesplnění podmínky
End If

nebo:

If Podmínka Then
Akce při splnění 1.podmínky
ElseIf
Podmínka Then
Akce při splnění 2.podmínky
Else
Akce při nesplnění žádné podmínky
End If

Příklad:

Sub cislo()
Dim moje_cislo As Integer

moje_cislo = 40

If moje_cislo > 100 Then
MsgBox "Číslo je větší než 100"
ElseIf moje_cislo > 50 Then
MsgBox "Číslo je větší než 50"
Else
MsgBox "Číslo je menší než 50"
End If

End Sub

 

Or - Nebo

Tato funkce vrátí hodnotu Pravda, pokud alespoň jeden z argumentů má hodnotu Pravda
v případě že ani jeden argument nemá hodnotu Pravda, tak vrátí Nepravda

Syntaxe:

argument1 Or argument1

Příklad:

Sub Test_Or()
Dim A, B, C, D
Dim E, F, G, H, VysledekE, VysledekF, VysledekG, VysledekH

A = 10: B = 8: C = 6: D = 4 ' Iniciace proměnných

If A > B Or B > C Then 'pravda x pravda
E = True
Else
E = False
End If
VysledekE = E ' Vrátí True.

If B > A Or B > C Then 'nepravda x pravda
F = True
Else
F = False
End If
VysledekF = F ' Vrátí True.

If A > B Or D > C Then 'pravda x nepravda
G = True
Else
G = False
End If
VysledekG = G ' Vrátí True.

If B > A Or C > B Then 'nepravda x nepravda
H = True
Else
H = False
End If
VysledekH = H ' Vrátí False.

End Sub

 

Select Case - Vyber argument

Tato funkce přiřazuje k zjištěné hodnotě daný výsledek

Syntaxe:

Select Case promenna
          Case neco                                                   
                   vystup = neco1
          Case neco                                                    
                   vystup = neco2
          Case neco                                                    
                   vystup = neco2
End Select

Příklad:

Select Case jsem zahrnul do příkladu funkce MsgBox,
a na základě toho získáme hodnotu:

Vysledek = vbYes

Podle hodnoty proměnné Vysledek se pak přiřadí akce nebo hodnota.

Sub Vyber ()
Dim Vysledek

Vysledek = vbYes                                                    

Select Case Vysledek
          Case vbYes                                                    'stejné jako Case 6
                   MsgBox "Bylo vybráno tlačítko ANO"
          Case vbNo                                                    'stejné jako Case 7
                   MsgBox "Bylo vybráno tlačítko NE"
          Case vbCancel                                               'stejné jako Case 2
                   MsgBox "Bylo vybráno tlačítko STORNO"
End Select

End Sub

Select Case se také používá pro přiřazení hodnot u výběru
ve Formuláři a to u prvku Pole se seznamem,
kde na základě události _Click se přiřazují hodnoty .

Příklad:

Private Sub ComboBox1_Click() '

Select Case ComboBox1.Value
    Case 0
            tb_Den_Jmeno = ""
            tb_Den_Cislo = ""
    Case 1
            tb_Den_Jmeno = "Pondělí"
            tb_Den_Cislo = 1
    Case 2
            tb_Den_Jmeno = "Úterý"
            tb_Den_Cislo = 2
End Select

End Sub