VBA-operateurs en ingeboude funksies

Excel VBA stellings

Wanneer VBA-kode in Excel geskryf word, word 'n stel ingeboude operateurs by elke stap gebruik. Hierdie operateurs word verdeel in wiskundige, string, vergelyking en logiese operateurs. Vervolgens gaan ons in detail na elke groep operateurs kyk.

Wiskundige operateurs

Die belangrikste VBA-wiskunde-operateurs word in die tabel hieronder gelys.

Die regterkolom van die tabel toon die verstekoperateurvoorrang in die afwesigheid van hakies. Deur hakies by 'n uitdrukking te voeg, kan jy die volgorde waarin VBA-stellings uitgevoer word, verander soos jy wil.

operateurAksieprioriteit

(1 – hoogste; 5 – laagste)

^eksponensiëringsoperateur1
*vermenigvuldigingsoperateur2
/afdeling operateur2
Deling sonder res – gee die resultaat van die verdeling van twee getalle sonder 'n res terug. Byvoorbeeld, 74 sal die resultaat terugstuur 13
moedModulo (oorblywende) operateur – gee die res terug nadat twee getalle gedeel is. Byvoorbeeld, 8 Teen 3 sal die resultaat terugstuur 2.4
+Byvoeging operateur5
-aftrekoperateur5

Stringoperateurs

Die basiese stringoperateur in Excel VBA is die aaneenskakelingsoperateur & (voeg saam):

operateurAksie
&samevoeging operateur. Byvoorbeeld, die uitdrukking "A" en "B" sal die resultaat terugstuur AB.

Vergelyking Operateurs

Vergelykingsoperateurs word gebruik om twee getalle of stringe te vergelyk en 'n Boolese waarde van tipe terug te gee Boole (Waar of Onwaar). Die belangrikste Excel VBA-vergelykingsoperateurs word in hierdie tabel gelys:

operateurAksie
=Net so
<>Nie gelyk nie
<minder
>Meer
<=Minder as of gelyk
>=Groter as of gelyk

Logiese operateurs

Logiese operateurs, soos vergelykingsoperateurs, gee 'n Boolese waarde van tipe terug Boole (Waar of Onwaar). Die belangrikste logiese operateurs van Excel VBA word in die tabel hieronder gelys:

operateurAksie
enkonjunksie werking, logiese operateur И. Byvoorbeeld, die uitdrukking A en B sal terugkeer TrueIndien A и B albei is gelyk True, anders keer terug Vals.
OrDisjunksie werking, logiese operateur OR. Byvoorbeeld, die uitdrukking A Of B sal terugkeer TrueIndien A or B is gelyk True, en sal terugkeer ValsIndien A и B albei is gelyk Vals.
NieOntkenning werking, logiese operateur NIE. Byvoorbeeld, die uitdrukking Nie A sal terugkeer TrueIndien A ewe Vals, of terugkeer ValsIndien A ewe True.

Die tabel hierbo lys nie al die logiese operateurs wat in VBA beskikbaar is nie. 'n Volledige lys van logiese operateurs kan gevind word by die Visual Basic Developer Center.

Ingeboude funksies

Daar is baie ingeboude funksies beskikbaar in VBA wat gebruik kan word wanneer kode geskryf word. Hieronder is 'n paar van die mees gebruikte:

funksieAksie
AbsWys die absolute waarde van die gegewe getal.

voorbeeld:

  • Abs (-20) gee die waarde 20 terug;
  • Abs (20) gee die waarde 20 terug.
vCWys die ANSI-karakter wat ooreenstem met die numeriese waarde van die parameter.

voorbeeld:

  • Chr(10) gee 'n reëlbreuk terug;
  • Chr(97) gee 'n karakter terug a.
datumWys die huidige stelseldatum.
Datum Voeg byVoeg 'n gespesifiseerde tydinterval by die gegewe datum. Funksie sintaksis:

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

Waar is die argument interval bepaal die tipe tydsinterval wat by die gegewe gevoeg word datum in die bedrag gespesifiseer in die argument aantal.

argument interval kan een van die volgende waardes neem:

Intervalwaarde
yyyyjaar
qkwartaal
mmaand
ydag van die jaar
ddag
wdag van die week
wwweek
huur
nminuut
stweede

voorbeeld:

  • DatumVoeg («d», 32, «01/01/2015») voeg 32 dae by die datum 01/01/2015 en gee dus die datum 02/02/2015 terug.
  • DatumVoeg(«ww», 36, «01/01/2015») voeg 36 weke by die datum 01/01/2015 en gee die datum 09/09/2015 terug.
DateDiffBereken die aantal gespesifiseerde tydintervalle tussen twee gegewe datums.

voorbeeld:

  • DateDiff(«d», «01/01/2015», «02/02/2015») bereken die aantal dae tussen 01/01/2015 en 02/02/2015, gee 32 terug.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») bereken die aantal weke tussen 01/01/2015 en 03/03/2016, gee 61 terug.
DagWys 'n heelgetal wat ooreenstem met die dag van die maand in die gegewe datum.

voorbeeld: Dag («29/01/2015») gee die getal 29 terug.

uurWys 'n heelgetal wat ooreenstem met die aantal ure op die gegewe tyd.

voorbeeld: Uur («22:45:00») gee die getal 22 terug.

InStrDit neem 'n heelgetal en twee stringe as argumente. Wys die posisie van voorkoms van die tweede string binne die eerste, en begin die soektog by die posisie wat deur 'n heelgetal gegee word.

voorbeeld:

  • InStr(1, "Hier is die soekwoord", "woord") gee die getal 13 terug.
  • InStr(14, "Hier is die soekwoord, en hier is 'n ander soekwoord", "woord") gee die getal 38 terug.

let wel: Die getalargument mag nie gespesifiseer word nie, in welke geval die soektog begin vanaf die eerste karakter van die string gespesifiseer in die tweede argument van die funksie.

IntWys die heelgetaldeel van die gegewe getal.

voorbeeld: Int (5.79) gee resultaat 5.

IsdateOpbrengste Trueas die gegewe waarde 'n datum is, of Vals – indien die datum nie is nie.

voorbeeld:

  • IsDatum(«01/01/2015») opbrengste True;
  • IsDatum(100) opbrengste Vals.
IsErrorOpbrengste Trueas die gegewe waarde 'n fout is, of Vals – as dit nie 'n fout is nie.
Is wegDie naam van 'n opsionele prosedure-argument word as 'n argument na die funksie deurgegee. Is weg opbrengste Trueindien geen waarde vir die betrokke prosedure-argument deurgegee is nie.
IsNumeriesOpbrengste Trueas die gegewe waarde as 'n getal hanteer kan word, anders keer terug Vals.
LinksWys die gespesifiseerde aantal karakters vanaf die begin van die gegewe string. Die funksie sintaksis is soos volg:

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

waar lyn is die oorspronklike string, en lengte is die aantal karakters om terug te gee, tel vanaf die begin van die string.

voorbeeld:

  • Links(“abvgdejziklmn”, 4) gee die string "abcg" terug;
  • Links(“abvgdejziklmn”, 1) gee die string “a” terug.
LenWys die aantal karakters in 'n string.

voorbeeld: Len ("abcdej") gee die getal 7 terug.

MaandWys 'n heelgetal wat ooreenstem met die maand van die gegewe datum.

voorbeeld: Maand(«29/01/2015») gee die waarde 1 terug.

Mid Wys die gespesifiseerde aantal karakters vanaf die middel van die gegewe string. Funksie sintaksis:

Middel(lyn, Begin, lengte)

waar lyn is die oorspronklike string Begin – die posisie van die begin van die tou wat onttrek moet word, lengte is die aantal karakters wat onttrek moet word.

voorbeeld:

  • Middel(“abvgdejziklmn”, 4, 5) gee die string “waar” terug;
  • Middel(“abvgdejziklmn”, 10, 2) gee die string “cl” terug.
MinuteWys 'n heelgetal wat ooreenstem met die aantal minute in die gegewe tyd. Voorbeeld: Minuut(«22:45:15») gee die waarde 45 terug.
nouWys die huidige stelsel datum en tyd.
RegWys die gespesifiseerde aantal karakters vanaf die einde van die gegewe string. Funksie sintaksis:

Regs(lyn, lengte)

Waar lyn is die oorspronklike string, en lengte is die aantal karakters om te onttrek, vanaf die einde van die gegewe string.

voorbeeld:

  • Regs(«abvgdezhziklmn», 4) gee die string “clmn” terug;
  • Regs(«abvgdezhziklmn», 1) gee die string “n” terug.
tweedeWys 'n heelgetal wat ooreenstem met die aantal sekondes in die gegewe tyd.

voorbeeld: Tweede («22:45:15») gee die waarde 15 terug.

SqrWys die vierkantswortel van die numeriese waarde wat in die argument geslaag is.

voorbeeld:

  • Sqr(4) gee die waarde 2 terug;
  • Sqr(16) gee die waarde 4 terug.
tydWys die huidige stelseltyd.
UboundWys die boskrif van die gespesifiseerde skikkingsdimensie.

let wel: Vir multidimensionele skikkings kan 'n opsionele argument die indeks wees van watter dimensie om terug te gee. Indien nie gespesifiseer nie, is die verstek 1.

jaarWys 'n heelgetal wat ooreenstem met die jaar van die gegewe datum. Voorbeeld: Jaar(«29/01/2015») gee die waarde 2015 terug.

Hierdie lys bevat slegs 'n seleksie van die mees gebruikte ingeboude Excel Visual Basic-funksies. 'n Uitputtende lys van VBA-funksies beskikbaar vir gebruik in Excel-makro's kan gevind word op die Visual Basic Developer Center.

Lewer Kommentaar