VBA-operators en ingebouwde functies

Excel VBA-instructies

Bij het schrijven van VBA-code in Excel wordt bij elke stap een set ingebouwde operators gebruikt. Deze operatoren zijn onderverdeeld in wiskundige, tekenreeks-, vergelijkings- en logische operatoren. Vervolgens zullen we elke groep operators in detail bekijken.

Wiskundige operatoren

De belangrijkste VBA-wiskundige operatoren staan ​​in de onderstaande tabel.

De rechterkolom van de tabel toont de standaard operatorprioriteit zonder haakjes. Door haakjes aan een uitdrukking toe te voegen, kunt u de volgorde waarin VBA-instructies worden uitgevoerd naar wens wijzigen.

OperatorActieprioriteit

(1 – hoogste; 5 – laagste)

^machtsverheffen operator1
*vermenigvuldigingsoperator2
/divisie operator2
Delen zonder rest – geeft het resultaat van het delen van twee getallen zonder rest. Bijvoorbeeld, 74 zal het resultaat teruggeven 13
MoedModulo (rest) operator - retourneert de rest na het delen van twee getallen. Bijvoorbeeld, 8 tegen 3 zal het resultaat teruggeven 2.4
+Toevoegingsoperator5
-aftrekoperator5

String-operatoren

De basistekenreeksoperator in Excel VBA is de aaneenschakelingsoperator & (samenvoegen):

OperatorActie
&aaneenschakelingsoperator. Bijvoorbeeld de uitdrukking «A» & «B» zal het resultaat teruggeven AB.

Vergelijkingsoperatoren

Vergelijkingsoperatoren worden gebruikt om twee getallen of tekenreeksen te vergelijken en een booleaanse waarde van het type te retourneren Boolean (Waar of niet waar). De belangrijkste Excel VBA-vergelijkingsoperatoren staan ​​in deze tabel:

OperatorActie
=Even
<>Niet gelijk
<Minder
>Больше
<=Minder dan of gelijk
>=Groter dan of gelijk aan

logische operatoren

Logische operatoren, zoals vergelijkingsoperatoren, retourneren een booleaanse waarde van het type Boolean (Waar of niet waar). De belangrijkste logische operators van Excel VBA staan ​​in de onderstaande tabel:

OperatorActie
Enconjunctie operatie, logische operator И. Bijvoorbeeld de uitdrukking A en B zal terugkeren Waar, als A и B beide zijn gelijk Waar, anders terug Niet waar.
OrDisjunctiebewerking, logische operator OR. Bijvoorbeeld de uitdrukking A of B zal terugkeren Waar, als A or B zijn gelijk Waar, en zal terugkeren Niet waar, als A и B beide zijn gelijk Niet waar.
NietOntkenningsbewerking, logische operator NIET. Bijvoorbeeld de uitdrukking niet A zal terugkeren Waar, als A even Niet waar, of terugkeer Niet waar, als A even Waar.

De bovenstaande tabel bevat niet alle logische operators die beschikbaar zijn in VBA. Een volledige lijst met logische operators is te vinden in het Visual Basic Developer Center.

Ingebouwde functies

Er zijn veel ingebouwde functies beschikbaar in VBA die kunnen worden gebruikt bij het schrijven van code. Hieronder vindt u enkele van de meest gebruikte:

FunctieActie
AbsRetourneert de absolute waarde van het opgegeven getal.

Voorbeeld:

  • Buikspieren(-20) geeft de waarde 20 terug;
  • Buikspieren(20) geeft de waarde 20 terug.
chrRetourneert het ANSI-teken dat overeenkomt met de numerieke waarde van de parameter.

Voorbeeld:

  • Chr(10) geeft een regeleinde terug;
  • Chr(97) geeft een teken terug a.
DatumRetourneert de huidige systeemdatum.
DatumToevoegenVoegt een opgegeven tijdsinterval toe aan de opgegeven datum. Functiesyntaxis:

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

Waar is het argument? interval bepaalt het type tijdsinterval toegevoegd aan de gegeven gegevens in het bedrag gespecificeerd in het argument aantal.

Argument interval kan een van de volgende waarden aannemen:

intervalWaarde
yyyyjaar
qkwartaal
mmaand
ydag van het jaar
ddag
wdag van de week
wwweek
huur
nminuut
stweede

Voorbeeld:

  • DatumToevoegen(«d», 32, «01/01/2015») voegt 32 dagen toe aan de datum 01/01/2015 en retourneert dus de datum 02/02/2015.
  • DatumToevoegen(«ww», 36, «01/01/2015») voegt 36 weken toe aan de datum 01/01/2015 en retourneert de datum 09/09/2015.
DatumverschilBerekent het aantal opgegeven tijdsintervallen tussen twee opgegeven datums.

Voorbeeld:

  • DateDiff(«d», «01/01/2015», «02/02/2015») berekent het aantal dagen tussen 01/01/2015 en 02/02/2015, geeft 32 terug.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») berekent het aantal weken tussen 01/01/2015 en 03/03/2016, geeft 61 terug.
DagRetourneert een geheel getal dat overeenkomt met de dag van de maand op de opgegeven datum.

Voorbeeld: Dag(«29/01/2015») geeft het getal 29 terug.

uurRetourneert een geheel getal dat overeenkomt met het aantal uren op het opgegeven tijdstip.

Voorbeeld: Uur(«22:45:00») geeft het getal 22 terug.

InStrHet neemt een geheel getal en twee strings als argumenten. Retourneert de positie van de tweede tekenreeks binnen de eerste, waarbij de zoekopdracht wordt gestart op de positie die wordt gegeven door een geheel getal.

Voorbeeld:

  • InStr(1, "Hier is het zoekwoord", "woord") geeft het getal 13 terug.
  • InStr(14, "Hier is het zoekwoord, en hier is nog een zoekwoord", "woord") geeft het getal 38 terug.

Opmerking: Het getalargument mag niet worden opgegeven, in welk geval de zoekopdracht begint met het eerste teken van de tekenreeks die is opgegeven in het tweede argument van de functie.

IntRetourneert het gehele deel van het opgegeven getal.

Voorbeeld: Int(5.79) geeft resultaat 5.

IsdatumRetourneren Waarals de opgegeven waarde een datum is, of Niet waar – als de datum niet is.

Voorbeeld:

  • IsDatum(«01/01/2015») Retourneren Waar;
  • IsDatum(100) Retourneren Niet waar.
IsfoutRetourneren Waarals de opgegeven waarde een fout is, of Niet waar – als het geen fout is.
OntbreektDe naam van een optioneel procedureargument wordt als argument aan de functie doorgegeven. Ontbreekt Retourneren Waarals er geen waarde is doorgegeven voor het betreffende procedureargument.
Is NumeriekRetourneren Waarals de gegeven waarde als een getal kan worden behandeld, wordt anders geretourneerd Niet waar.
LinksRetourneert het opgegeven aantal tekens vanaf het begin van de opgegeven tekenreeks. De syntaxis van de functie is als volgt:

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

WAAR lijn is de originele string, en lengte is het aantal tekens dat moet worden geretourneerd, geteld vanaf het begin van de tekenreeks.

Voorbeeld:

  • Links ("abvgdejziklmn", 4) geeft de tekenreeks "abcg" terug;
  • Links ("abvgdejziklmn", 1) geeft de tekenreeks "a" terug.
LenRetourneert het aantal tekens in een tekenreeks.

Voorbeeld: Len ("abcdej") geeft het getal 7 terug.

MaandRetourneert een geheel getal dat overeenkomt met de maand van de opgegeven datum.

Voorbeeld: Maand(«29/01/2015») geeft de waarde 1 terug.

MiddenRetourneert het opgegeven aantal tekens vanaf het midden van de opgegeven tekenreeks. Functiesyntaxis:

midden(lijn, begin, lengte)

WAAR lijn is de originele string begin – de positie van het begin van de te extraheren string, lengte is het aantal tekens dat moet worden geëxtraheerd.

Voorbeeld:

  • Midden(“abvgdejziklmn”, 4, 5) retourneert de tekenreeks "waar";
  • Midden(“abvgdejziklmn”, 10, 2) retourneert de tekenreeks "cl".
MinuutRetourneert een geheel getal dat overeenkomt met het aantal minuten in de opgegeven tijd. Voorbeeld: Minuut(«22:45:15») geeft de waarde 45 terug.
NuRetourneert de huidige systeemdatum en -tijd.
RechtsRetourneert het opgegeven aantal tekens vanaf het einde van de opgegeven tekenreeks. Functiesyntaxis:

Rechts(lijn, lengte)

Waar lijn is de originele string, en lengte is het aantal tekens dat moet worden geëxtraheerd, geteld vanaf het einde van de gegeven tekenreeks.

Voorbeeld:

  • Rechts(«abvgdezhziklmn», 4) retourneert de tekenreeks "clmn";
  • Rechts(«abvgdezhziklmn», 1) retourneert de tekenreeks "n".
TweedeRetourneert een geheel getal dat overeenkomt met het aantal seconden in de opgegeven tijd.

Voorbeeld: Tweede(«22:45:15») geeft de waarde 15 terug.

VierkantRetourneert de vierkantswortel van de numerieke waarde die in het argument is doorgegeven.

Voorbeeld:

  • Vierkant(4) geeft de waarde 2 terug;
  • Vierkant(16) geeft de waarde 4 terug.
TijdRetourneert de huidige systeemtijd.
OverigRetourneert het superscript van de opgegeven matrixdimensie.

Opmerking: Voor multidimensionale arrays kan een optioneel argument de index zijn van welke dimensie moet worden geretourneerd. Indien niet gespecificeerd, is de standaardwaarde 1.

jaarRetourneert een geheel getal dat overeenkomt met het jaar van de opgegeven datum. Voorbeeld: Jaar(«29/01/2015») geeft de waarde 2015 terug.

Deze lijst bevat slechts een selectie van de meest gebruikte ingebouwde Excel Visual Basic-functies. Een uitgebreide lijst van VBA-functies die beschikbaar zijn voor gebruik in Excel-macro's is te vinden in het Visual Basic Developer Center.

Laat een reactie achter