Transcript Exceli VBA
Exceli VBA
Jaan Olt
VBA võimaldab
Automatiseerida sagedamini kasutatavaid tegevusi Sisestada informatsiooni üheaegselt mitmesse erinevasse kohta Automatiseerida tegevusi, mis nõuavad mitme järjestikuse käsu andmist.
Luua uusi käsunuppe, menüüsid ja sisestus väljastusvorme Luua vajalikke programme, mis koosnevad eelpool nimetatud tegevustest.
VBA MÕISTED
VBA
- Visual Basic for Applications programmeerimiskeskkond MS Office jt. jaoks.
Kood
- programmi tekst vastavalt programmeerimiskeskkonna eeskirjadele ja vastava keele süntaksile.
Makro
- kasutaja poolt salvestatud tegevustele vastav programmimoodul.
Protseduur
(
procedure
) – Visual Basic lausete kogum, mis võib olla teiste protseduuride või funktsioonide koostisosa.
VBA MÕISTED
Alamprotseduur
(
Sub procedure
) – Visual Basicu lausete kogum, mis koostöö tulemusena sooritavad sihipäraseid tegevusi ja mis on tavaliselt mingi suurema programmi osa.
Funktsioon
osa, mille tulemuseks on fikseeritud tüüpi väärtus.
(
Function
) – Visual Basicu lausete
Kood (Code
süntaksile.
) – Visual Basicu keelekonstruktsioon, mis vastab keele
Lause
võtmesõnu, muutujaid, argumente, operaatoreid jpt.
(
statemen
t) – VB koodi rida, mis sisaldab
VBA MÕISTED
Objekt
(
object
) – ühik, näiteks exceli tööleht, välja aadress – mida iganes saab muuta VB abil
Meetod
(
method
) – objekti muutmise viis – näiteks copy/paste, arvutamine
Omadus
(
property
) – näiteks värvust, kirjastiili jpm. Parameetrite kogum.
Moodul
(
module
) – Töölehega seotud lausete kogum, mida saab muuta VB toimetaja abil. VB toimetajal on menüüriba ja muud lisandid.
Keelereeglid
Tavaliselt on ühes reas vaid üks käsk (lause, korraldus).
Käsu jätkamisel järgmisel real peab jätkatav rida lõppema tühiku ja allkriipsuga ( _). Koolon (:) on lausete eraldajaks, kui mitu käsku paikneb samas reas.
Keelereeglid
Kommentaarid kirjutatakse peale apostroofi ('), kui apostroof on rea esimene märk, on kogu rida kommentaaririda.
Muutujad
muutujate nimed sisaldavad tähti, numbreid ja/või allkriipse, algavad tähega ning ei ole VBA võtmesõna.
Muutujad
Muutujate deklareerimine on kas vabatahtlik või kohustuslik. Viimasel juhul lisatakse programmimooduli algusesse automaatselt käsk
Option Explicit
. Selline käsk lisatakse iga loodava programmimooduli alguskäsuks juhul, kui
VBA Tools-Options-Editor
menüüs kehtib valik
Require Variable Declaration
.
Deklaratsioon
Deklaratsioon algab tavaliselt võtmesõnaga Dim: Dim nimi [As andmetüüp]
kasutusala (skoob)
alamprogrammi (sündmusprogrammi) tase – deklaratsioon asub programmi sees, mooduli tase – deklaratsioon eelneb programmidele, globaalne, projekti tase – deklaratsioonis on võtmesõna
Global
.
Deklaratsioon
Deklaratsioonis võib olla võtmesõna Static, mis kirjeldab staatilist muutujat. Selline muutuja säilitab väärtuse programmi töö lõpetamisel.
Andmetüübid:
Variant -
vaikimisi on muutuja tüübiks suvaline andmetüüp
Integer, Long
– täisarv
Single, Double
– komakohaga arv
Currency
– rahaväärtus
Andmetüübid:
Date
String
aeg (kuupäev, kellaaeg) - tekst
Boolean
Object
loogikaväärtus (jah/ei) - viit objektile, objektiklass
Massiivid
Massiivide kirjeldamisel näidatakse tema elementide arv ja indeksite vahemik: Dim nimi (alaraja [To ülaraja]) [As andmetüüp]
Alamprogrammid ja funktsioonid
Alamprogramm algab käsuga Sub ja lõpeb käsuga End Sub: Sub nimi(parameetrid)
programmi käsud
End Sub
Sündmusprogramm
Sündmusprogrammi nimi on kujul Objekt_Sündmus
Täitmine
Alamprogrammi väljakutsumine võib toimuda kahel moel Valik tehakse selle põhjal, kas meetodi väärtust programmis edaspidi kasutatakse või mitte. nimi parameetrid x=nimi(parameetrid) Viimasel juhul sobib esimene valik
Uue funktsiooni kirjeldamine:
Function
nimi(parameetrid) [
As
tüüp] funktsiooni käsud nimi=väärtus
End Function
Uus funktsioon
Mittekohustusliku parameetri ees on võtmesõna
Optional
. Tema edastamist saab loodud funktsioonis kontrollida VBA funktsiooniga
IsMissing
.
Väljakutsumine toimub tavaliselt avaldise koosseisus: nimi(parameetrid)