VBA operaatorid ja sisseehitatud funktsioonid

Exceli VBA avaldused

Excelis VBA-koodi kirjutamisel kasutatakse igal sammul sisseehitatud operaatorite komplekti. Need operaatorid jagunevad matemaatika-, string-, võrdlus- ja loogilisteks operaatoriteks. Järgmisena vaatleme üksikasjalikult iga operaatorite rühma.

Matemaatilised operaatorid

Peamised VBA matemaatikaoperaatorid on loetletud allolevas tabelis.

Tabeli parempoolses veerus on sulgude puudumisel näidatud operaatori vaikejärjestus. Avaldisele sulgude lisamisega saate VBA-lausete täitmise järjekorda vastavalt soovile muuta.

operaatortegevusprioriteet

(1 – kõrgeim; 5 – madalaim)

^astendamise operaator1
*korrutamisoperaator2
/divisjoni operaator2
Jagamine ilma jäägita – tagastab kahe arvu jagamise tulemuse ilma jäägita. Näiteks, 74 tagastab tulemuse 13
JulgusModulo (ülejäägi) operaator – tagastab jäägi pärast kahe arvu jagamist. Näiteks, 8 3 vastu tagastab tulemuse 2.4
+Lisaoperaator5
-lahutamise operaator5

Stringioperaatorid

Exceli VBA põhistringitehter on konkatenatsioonioperaator & (ühenda):

operaatortegevus
&konkatenatsioonioperaator. Näiteks väljend "A" ja "B" tagastab tulemuse AB.

Võrdlusoperaatorid

Võrdlusoperaatoreid kasutatakse kahe numbri või stringi võrdlemiseks ja tüübi tõeväärtuse tagastamiseks Boolean (Õige või vale). Peamised Exceli VBA võrdlusoperaatorid on loetletud selles tabelis:

operaatortegevus
=Samamoodi
<>Pole võrdne
<vähem
>Больше
<=Väiksem või võrdne
>=Suurem kui või võrdne

loogiline operaatorid

Loogilised operaatorid, nagu võrdlustehed, tagastavad tüübi tõeväärtuse Boolean (Õige või vale). Excel VBA peamised loogilised operaatorid on loetletud allolevas tabelis:

operaatortegevus
Andsidetehte, loogiline operaator И. Näiteks väljend A ja B naaseb Tõsi, Kui A и B mõlemad on võrdsed Tõsi, vastasel juhul tagastada Vale.
OrDisjunktsioonioperatsioon, loogiline operaator OR. Näiteks väljend A või B naaseb Tõsi, Kui A or B on võrdsed Tõsi, ja naaseb Vale, Kui A и B mõlemad on võrdsed Vale.
EiEitustehe, loogiline operaator EI. Näiteks väljend Mitte A naaseb Tõsi, Kui A Võrdselt Valevõi tagasi Vale, Kui A Võrdselt Tõsi.

Ülaltoodud tabelis ei ole loetletud kõiki VBA-s saadaolevaid loogilisi operaatoreid. Loogiliste operaatorite täieliku loendi leiate Visual Basicu arendajakeskusest.

Sisseehitatud funktsioonid

VBA-s on saadaval palju sisseehitatud funktsioone, mida saab koodi kirjutamisel kasutada. Allpool on loetletud mõned kõige sagedamini kasutatavad:

funktsioontegevus
AbsTagastab antud arvu absoluutväärtuse.

Näide:

  • Kõhulihased (-20) tagastab väärtuse 20;
  • Kõhulihased (20) tagastab väärtuse 20.
ChrTagastab parameetri arvväärtusele vastava ANSI märgi.

Näide:

  • Chr (10) tagastab reavahetuse;
  • Chr (97) tagastab tegelase a.
kuupäevTagastab praeguse süsteemi kuupäeva.
Lisamise kuupäevLisab määratud kuupäevale määratud ajaintervalli. Funktsiooni süntaks:

DateAdd(интервал, число, дата)

Kus on argument intervall määrab antud ajaintervalli tüübi andmed argumendis määratud summas number.

Argument intervall võib võtta ühe järgmistest väärtustest:

IntervallVäärtus
yyyyaasta
qkvartal
mkuu
yaasta päev
dpäev
wnädalapäev
wwnädal
htund
nminut
steine

Näide:

  • Lisamise kuupäev(«d», 32, «01/01/2015») lisab kuupäevale 32 01 päeva ja tagastab seega kuupäeva 01.
  • Lisamise kuupäev(«ww», 36, «01/01/2015») lisab kuupäevale 36 01 nädalat ja tagastab kuupäeva 01.
DateDiffArvutab määratud ajavahemike arvu kahe antud kuupäeva vahel.

Näide:

  • DateDiff(«d», «01/01/2015», «02/02/2015») arvutab päevade arvu vahemikus 01 kuni 01, tagastab 2015.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») arvutab nädalate arvu vahemikus 01 kuni 01, tagastab 2015.
päevTagastab täisarvu, mis vastab antud kuupäeva kuupäevale.

Näide: Päev («29/01/2015») tagastab numbri 29.

tundTagastab täisarvu, mis vastab antud aja tundide arvule.

Näide: Tund («22:45:00») tagastab numbri 22.

InStrSee võtab argumentidena täisarvu ja kaks stringi. Tagastab teise stringi esinemiskoha esimeses, alustades otsingut täisarvuga antud kohast.

Näide:

  • InStr(1, "Siin on otsingusõna", "sõna") tagastab numbri 13.
  • InStr(14, "Siin on otsingusõna ja siin on veel üks otsingusõna", "sõna") tagastab numbri 38.

Märge: Arvurgumenti ei pruugita määrata, sel juhul algab otsing funktsiooni teises argumendis määratud stringi esimesest märgist.

IntTagastab antud arvu täisarvulise osa.

Näide: Int(5.79) tagastab tulemuse 5.

IsdateTagastamine Tõsikui antud väärtus on kuupäev või Vale – kui kuupäev ei ole.

Näide:

  • IsDate («01/01/2015») Tulu Tõsi;
  • IsDate (100) Tulu Vale.
IsErrorTagastamine Tõsikui antud väärtus on viga või Vale – kui see pole viga.
On kadunudValikulise protseduuri argumendi nimi edastatakse funktsioonile argumendina. On kadunud Tulu Tõsikui kõnealuse protseduuri argumendi väärtust ei antud.
IsNumericTagastamine Tõsikui antud väärtust saab käsitleda arvuna, vastasel juhul tagastab Vale.
VasakTagastab määratud arvu tähemärke antud stringi algusest. Funktsiooni süntaks on järgmine:

Left(строка, длина)

kus rida on algne string ja pikkus on tagastatavate märkide arv, lugedes stringi algusest.

Näide:

  • Vasak ("abvgdejziklmn", 4) tagastab stringi "abcg";
  • Vasak ("abvgdejziklmn", 1) tagastab stringi "a".
LenTagastab märkide arvu stringis.

Näide: Len ("abcdej") tagastab numbri 7.

kuuTagastab täisarvu, mis vastab antud kuupäeva kuule.

Näide: Kuu («29/01/2015») tagastab väärtuse 1.

KeskelTagastab määratud arvu tähemärke antud stringi keskelt. Funktsiooni süntaks:

Mid(rida, algus, pikkus)

kus rida on algne string algus – ekstraheeritava stringi alguse asukoht, pikkus on ekstraheeritavate märkide arv.

Näide:

  • Keskmine ("abvgdejziklmn", 4, 5) tagastab stringi “kus”;
  • Keskmine ("abvgdejziklmn", 10, 2) tagastab stringi "cl".
MinutTagastab täisarvu, mis vastab minutite arvule antud aja jooksul. Näide: Minut («22:45:15») tagastab väärtuse 45.
NüüdTagastab praeguse süsteemi kuupäeva ja kellaaja.
ÕigusTagastab määratud arvu tähemärke antud stringi lõpust. Funktsiooni süntaks:

õige(rida, pikkus)

Kus rida on algne string ja pikkus on eraldatavate märkide arv, lugedes antud stringi lõpust.

Näide:

  • Parem («abvgdezhziklmn», 4) tagastab stringi "clmn";
  • Parem («abvgdezhziklmn», 1) tagastab stringi "n".
TeineTagastab täisarvu, mis vastab antud aja sekundite arvule.

Näide: Teine («22:45:15») tagastab väärtuse 15.

ruutTagastab argumendis edastatud arvväärtuse ruutjuure.

Näide:

  • ruut (4) tagastab väärtuse 2;
  • ruut (16) tagastab väärtuse 4.
aegTagastab praeguse süsteemiaja.
UboundTagastab määratud massiivi dimensiooni ülaindeksi.

Märge: Mitmemõõtmeliste massiivide puhul võib valikuline argument olla tagastatava dimensiooni indeks. Kui pole määratud, on vaikeväärtus 1.

aastaTagastab täisarvu, mis vastab antud kuupäeva aastale. Näide: Aasta («29/01/2015») tagastab väärtuse 2015.

See loend sisaldab ainult valikut kõige sagedamini kasutatavatest Exceli Visual Basicu sisseehitatud funktsioonidest. Täieliku loendi Exceli makrodes kasutamiseks saadaolevatest VBA funktsioonidest leiate Visual Basicu arendajakeskusest.

Jäta vastus