200 likes | 383 Views
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
E N D
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 (Function) – Visual Basicu lausete osa, mille tulemuseks on fikseeritud tüüpi väärtus. • Kood (Code) – Visual Basicu keelekonstruktsioon, mis vastab keele süntaksile. • Lause (statement) – VB koodi rida, mis sisaldab võtmesõnu, muutujaid, argumente, operaatoreid jpt.
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 - aeg (kuupäev, kellaaeg) • String - tekst • Boolean - loogikaväärtus (jah/ei) • Object - 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)