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)