Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

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.

Code Block

auto_open()
Lomake.Show
End Sub

Muutamia hyödyllisiä käskyjä

Syöttö, käsittely ja tulostus 1Sub nimi()

Code Block

'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-tehtäviä