VBA-operatører og indbyggede funktioner

Excel VBA-udsagn

Når du skriver VBA-kode i Excel, bruges et sæt indbyggede operatører ved hvert trin. Disse operatorer er opdelt i matematiske, streng-, sammenlignings- og logiske operatorer. Dernæst vil vi se nærmere på hver gruppe af operatører.

Matematiske operatører

De vigtigste VBA matematiske operatører er angivet i tabellen nedenfor.

Den højre kolonne i tabellen viser standardoperatørens forrang i fravær af parenteser. Ved at tilføje parenteser til et udtryk, kan du ændre den rækkefølge, som VBA-sætninger udføres i, som du ønsker.

OperatørHandlingprioritet

(1 - højeste; 5 - laveste)

^eksponentieringsoperator1
*multiplikationsoperator2
/divisionsoperatør2
Division uden rest – returnerer resultatet af at dividere to tal uden rest. For eksempel, 74 vil returnere resultatet 13
CourageModulo (rest) operator – returnerer resten efter at have divideret to tal. For eksempel, 8 mod 3 vil returnere resultatet 2.4
+Tilføjelsesoperatør5
subtraktionsoperatør5

Stringoperatører

Den grundlæggende strengoperator i Excel VBA er sammenkædningsoperatoren & (fusionere):

OperatørHandling
&sammenkædningsoperatør. For eksempel udtrykket "A" og "B" vil returnere resultatet AB.

Sammenligningsoperatører

Sammenligningsoperatorer bruges til at sammenligne to tal eller strenge og returnere en boolsk værdi af typen Boolesk (Sandt eller falsk). De vigtigste Excel VBA-sammenligningsoperatører er angivet i denne tabel:

OperatørHandling
=Ligeligt
<>Ikke lige
<Mindre
>Больше
<=Mindre end eller lig
>=Større end eller lig

logiske operatorer

Logiske operatorer, ligesom sammenligningsoperatorer, returnerer en boolesk værdi af typen Boolesk (Sandt eller falsk). De vigtigste logiske operatører af Excel VBA er angivet i tabellen nedenfor:

OperatørHandling
ogkonjunktion operation, logisk operator И. For eksempel udtrykket A og B kommer tilbage Sand, Hvis A и B begge er lige Sand, ellers retur False.
OrDisjunction operation, logisk operator OR. For eksempel udtrykket A eller B kommer tilbage Sand, Hvis A or B er lige Sand, og vil vende tilbage False, Hvis A и B begge er lige False.
IkkeNegationsoperation, logisk operator IKKE. For eksempel udtrykket Ikke A kommer tilbage Sand, Hvis A lige False, eller vende tilbage False, Hvis A lige Sand.

Tabellen ovenfor viser ikke alle de logiske operatorer, der er tilgængelige i VBA. En komplet liste over logiske operatorer kan findes i Visual Basic Developer Center.

Indbyggede funktioner

Der er mange indbyggede funktioner tilgængelige i VBA, som kan bruges, når du skriver kode. Nedenfor er nogle af de mest brugte:

FunktionHandling
AbsReturnerer den absolutte værdi af det givne tal.

Eksempel:

  • Abs (-20) returnerer værdien 20;
  • Mavemuskler(20) returnerer værdien 20.
ChrReturnerer ANSI-tegnet, der svarer til parameterens numeriske værdi.

Eksempel:

  • Chr(10) returnerer et linjeskift;
  • Chr(97) returnerer et tegn a.
DatoReturnerer den aktuelle systemdato.
DateAddTilføjer et specificeret tidsinterval til den givne dato. Funktionssyntaks:

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

Hvor er argumentet interval bestemmer typen af ​​tidsinterval tilføjet til det givne dato i det beløb, der er angivet i argumentationen nummer.

Argument interval kan tage en af ​​følgende værdier:

IntervalVærdi
ddår
qkvartal
mmåned
yårets dag
ddag
wdag i ugen
wwuge
htime
nminut
sanden

Eksempel:

  • DateAdd(«d», 32, «01/01/2015») tilføjer 32 dage til datoen 01/01/2015 og returnerer dermed datoen 02/02/2015.
  • DateAdd(«ww», 36, «01/01/2015») tilføjer 36 uger til datoen 01/01/2015 og returnerer datoen 09/09/2015.
DatoDiffBeregner antallet af specificerede tidsintervaller mellem to givne datoer.

Eksempel:

  • DateDiff(«d», «01/01/2015», «02/02/2015») beregner antallet af dage mellem 01/01/2015 og 02/02/2015, returnerer 32.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») beregner antallet af uger mellem 01/01/2015 og 03/03/2016, returnerer 61.
DagReturnerer et heltal svarende til dagen i måneden på den givne dato.

Eksempel: Dag («29/01/2015») returnerer tallet 29.

timeReturnerer et heltal svarende til antallet af timer på det givne tidspunkt.

Eksempel: Time(«22:45:00») returnerer tallet 22.

InStrDet tager et heltal og to strenge som argumenter. Returnerer positionen for forekomsten af ​​den anden streng inden for den første, og starter søgningen på positionen givet af et heltal.

Eksempel:

  • InStr(1, "Her er søgeordet", "ord") returnerer tallet 13.
  • InStr(14, "Her er søgeordet, og her er et andet søgeord", "ord") returnerer tallet 38.

Bemærk: Talargumentet er muligvis ikke angivet, i hvilket tilfælde søgningen starter fra det første tegn i strengen angivet i funktionens andet argument.

IntReturnerer heltalsdelen af ​​det givne tal.

Eksempel: Int(5.79) returnerer resultat 5.

IsdateReturpolitik Sandhvis den givne værdi er en dato, eller False – hvis datoen ikke er det.

Eksempel:

  • IsDate(«01/01/2015») afkast Sand;
  • IsDate(100) afkast False.
ErErrorReturpolitik Sandhvis den givne værdi er en fejl, eller False – hvis det ikke er en fejl.
ManglerNavnet på et valgfrit procedureargument sendes som et argument til funktionen. Mangler afkast Sandhvis der ikke blev givet nogen værdi for det pågældende procedureargument.
IsNumeriskReturpolitik Sandhvis den givne værdi kan behandles som et tal, ellers returnerer False.
VenstreReturnerer det angivne antal tegn fra begyndelsen af ​​den givne streng. Funktionens syntaks er som denne:

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

hvor linje er den originale streng, og længde er antallet af tegn, der skal returneres, tællet fra begyndelsen af ​​strengen.

Eksempel:

  • Venstre(“abvgdejziklmn”, 4) returnerer strengen "abcg";
  • Venstre(“abvgdejziklmn”, 1) returnerer strengen "a".
LenReturnerer antallet af tegn i en streng.

Eksempel: Len ("abcdej") returnerer tallet 7.

MånedReturnerer et heltal svarende til måneden for den givne dato.

Eksempel: Måned(«29/01/2015») returnerer værdien 1.

MidReturnerer det angivne antal tegn fra midten af ​​den givne streng. Funktionssyntaks:

Midt(linje, starte, længde)

hvor linje er den originale streng starte – placeringen af ​​begyndelsen af ​​den streng, der skal udtrækkes, længde er antallet af tegn, der skal udtrækkes.

Eksempel:

  • Mid(“abvgdejziklmn”, 4, 5) returnerer strengen "hvor";
  • Mid(“abvgdejziklmn”, 10, 2) returnerer strengen "cl".
MinutReturnerer et heltal svarende til antallet af minutter i den givne tid. Eksempel: minut(«22:45:15») returnerer værdien 45.
NuReturnerer den aktuelle systemdato og -klokkeslæt.
HøjreReturnerer det angivne antal tegn fra slutningen af ​​den givne streng. Funktionssyntaks:

Ret(linje, længde)

Hvor linje er den originale streng, og længde er antallet af tegn, der skal udtrækkes, tællet fra slutningen af ​​den givne streng.

Eksempel:

  • Højre(«abvgdezhziklmn», 4) returnerer strengen "clmn";
  • Højre(«abvgdezhziklmn», 1) returnerer strengen "n".
AndenReturnerer et heltal svarende til antallet af sekunder i den givne tid.

Eksempel: Anden(«22:45:15») returnerer værdien 15.

sqrReturnerer kvadratroden af ​​den numeriske værdi, der sendes i argumentet.

Eksempel:

  • Sqr(4) returnerer værdien 2;
  • Sqr(16) returnerer værdien 4.
TidReturnerer den aktuelle systemtid.
UbundetReturnerer hævet skrift for den angivne matrixdimension.

Bemærk: For flerdimensionelle arrays kan et valgfrit argument være indekset for, hvilken dimension der skal returneres. Hvis ikke angivet, er standarden 1.

årReturnerer et heltal svarende til året på den givne dato. Eksempel: År («29/01/2015») returnerer værdien 2015.

Denne liste indeholder kun et udvalg af de mest almindeligt anvendte indbyggede Excel Visual Basic-funktioner. En udtømmende liste over VBA-funktioner, der er tilgængelige til brug i Excel-makroer, kan findes på Visual Basic Developer Center.

Giv en kommentar