Logické funkce
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
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
|