VBA lyhyesti
VBA on Microsoftin kieli Office sovellusten automatisointiin. Lyhyesti sanottuna VBA:lla voi tehdä lomakkeita, jotka sisältävät eräänlaista Basic-koodia. Koodilla on helppo viitata soluihin ja koodia voi tuottaa nauhoittamalla manuaalisia toimintoja Office ovelluksissa.
Tyypillisesti VBA-osuus koostuu aliohjelmista sub ja käyttäjän lomakkeista "UserForm". Käyttäjän lomake saadaan ohjelmaa käynnistettäessä auki kirjoittamalla makro.
auto_open() Lomake.Show End Sub
Syöttö, käsittely ja tulostus 1Sub nimi()
'Määrittelyt
Dim etunimi, sukunimi, kokonimi As String
'Syöttö
etunimi = InputBox("Kirjoita etunimesi")
sukunimi = InputBox("Kirjoita sukunimesi")
'Käsittely
kokonimi = etunimi & " " & sukunimi
'Tulostus
MsgBox ("Nimesi on " & kokonimi)
End Sub
MuuttujatyypitDim KokonaislukuMuuttuja as Integer
Dim MerkkijonoMuuttuja as String
Dim MikatahansaMuuttuja as Variant
Dim DesimaalilukuMuuttuja as Double
Dim KokonaislukuTaulukko(1 to 10) As Integer
Const Vakio as Integer = 10
Operaattoritsumma = 5 + 2
erotus = 5 - 2
tulo = 5 * 2
osamaara = 5 / 2
kókonaisosa = 5 \ 2
jakojaannos = 5 MOD 2
potenssi = 5 ^ 2
merkkijono = merkkijono1 & merkkijono2
merkkijono = merkkijono1 + merkkijono2
Syöttö, käsittely ja tulostus 2Sub laskutoimitus()
'Muuttujien määrittelyt
Dim luku1, luku2, tulos As Double
'Syöttö
luku1 = InputBox("Kirjoita 1. luku")
luku2 = InputBox("Kirjoita 2. luku")
'Käsittely
tulos = Val(luku1) + Val(luku2)
'Tulostus
MsgBox ("Summa on " & Str(tulos))
End Sub
ValintarakenteetIf (ehto) Then
' toiminto
End If
If (ehto) Then
' toiminto 1
Else ' muuten
' toiminto 2
End If
If (ehtolause1) Then
' toiminto 1
Elseif (ehtolause2) Then
' toiminto 2
Else ' muuten
' toiminto 3
End If
Select Case TestiArvo
Case Is >= 100
' toiminto 1
Case Is >= 50
' toiminto 2
Case Is >= 0
' toiminto 3
Case Else ' muuten
' toiminto 4
End Select
Ehdot'Yhtä suuri kuin
Luku1 = Luku2
'Pienempi kuin
Luku1 < Luku2
'Suurempi kuin
Luku1 > Luku2
'Pienempi tai yhtä suuri kuin
Luku1 <= Luku2
'Pienempi tai yhtä suuri kuin
Luku1 >= Luku2
'Erisuuri kuin
Luku1 <> Luku2
'Tosi jos molemmat ehdot toteutuvat
ehto1 AND ehto2
'Tosi jos yksikin ehto toteutuu
ehto1 OR ehto2
ToistorakenteetDo While (ehto)
'toimenpiteet
Loop
For Laskuri = 1 To 10 Step 1
'toimenpiteet
Next Laskuri