VBA-operatører og innebygde funksjoner

Excel VBA uttalelser

Når du skriver VBA-kode i Excel, brukes et sett med innebygde operatører på hvert trinn. Disse operatorene er delt inn i matematiske, streng-, sammenlignings- og logiske operatorer. Deretter vil vi se på hver gruppe operatører i detalj.

Matematiske operatører

De viktigste matematiske VBA-operatørene er oppført i tabellen nedenfor.

Den høyre kolonnen i tabellen viser standard operatørprioritet i fravær av parenteser. Ved å legge til parenteser i et uttrykk, kan du endre rekkefølgen som VBA-setninger utføres i som du ønsker.

operatørHandlingprioritet

(1 – høyest; 5 – lavest)

^eksponentieringsoperator1
*multiplikasjonsoperator2
/divisjonsoperatør2
Divisjon uten rest – returnerer resultatet av å dele to tall uten rest. For eksempel, 74 vil returnere resultatet 13
CourageModulo (resterende) operator – returnerer resten etter å ha delt to tall. For eksempel, 8 mot 3 vil returnere resultatet 2.4
+Tilleggsoperatør5
-subtraksjonsoperatør5

Strengoperatører

Den grunnleggende strengoperatoren i Excel VBA er sammenkoblingsoperatoren & (slå sammen):

operatørHandling
&sammenkoblingsoperatør. For eksempel uttrykket «A» og «B» vil returnere resultatet AB.

Sammenligningsoperatører

Sammenligningsoperatorer brukes til å sammenligne to tall eller strenger og returnere en boolsk verdi av typen boolean (Sant eller usant). De viktigste Excel VBA-sammenligningsoperatørene er oppført i denne tabellen:

operatørHandling
=Likt
<>Ikke lik
<Mindre
>Больше
<=Mindre enn eller lik
>=Større enn eller lik

logiske operatorer

Logiske operatorer, som sammenligningsoperatorer, returnerer en boolsk verdi av typen boolean (Sant eller usant). De viktigste logiske operatørene til Excel VBA er oppført i tabellen nedenfor:

operatørHandling
Ogkonjunksjonsoperasjon, logisk operator И. For eksempel uttrykket A og B vil returnere ekte, Hvis A и B begge er like ekte, ellers retur Falsk.
OrDisjunksjonsoperasjon, logisk operator OR. For eksempel uttrykket A eller B vil returnere ekte, Hvis A or B er like ekte, og kommer tilbake Falsk, Hvis A и B begge er like Falsk.
NonNegasjonsoperasjon, logisk operatør IKKE. For eksempel uttrykket Ikke A vil returnere ekte, Hvis A like Falsk, eller returnere Falsk, Hvis A like ekte.

Tabellen ovenfor viser ikke alle logiske operatorer som er tilgjengelige i VBA. En komplett liste over logiske operatører finner du på Visual Basic Developer Center.

Innebygde funksjoner

Det er mange innebygde funksjoner tilgjengelig i VBA som kan brukes når du skriver kode. Nedenfor er noen av de mest brukte:

FunksjonHandling
AbsReturnerer den absolutte verdien av det gitte tallet.

Eksempel:

  • Mage (-20) returnerer verdien 20;
  • Mage (20) returnerer verdien 20.
f.KrReturnerer ANSI-tegnet som tilsvarer den numeriske verdien til parameteren.

Eksempel:

  • Chr(10) returnerer et linjeskift;
  • Chr(97) returnerer et tegn a.
DatoReturnerer gjeldende systemdato.
DateAddLegger til et spesifisert tidsintervall til den gitte datoen. Funksjonssyntaks:

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

Hvor er argumentet pause bestemmer typen tidsintervall lagt til det gitte data i beløpet angitt i argumentet Antall.

Argument pause kan ta en av følgende verdier:

IntervallVerdi
ååååår
qkvartal
mmåned
ydagen i året
ddag
wukens dag
wwuke
htime
nminutt
ssekund

Eksempel:

  • DateAdd(«d», 32, «01/01/2015») legger til 32 dager til datoen 01/01/2015 og returnerer dermed datoen 02/02/2015.
  • DateAdd(«ww», 36, «01/01/2015») legger til 36 uker til datoen 01/01/2015 og returnerer datoen 09/09/2015.
DatoDiffBeregner antall spesifiserte tidsintervaller mellom to gitte datoer.

Eksempel:

  • DateDiff(«d», «01/01/2015», «02/02/2015») beregner antall dager mellom 01/01/2015 og 02/02/2015, returnerer 32.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») beregner antall uker mellom 01/01/2015 og 03/03/2016, returnerer 61.
dagReturnerer et heltall som tilsvarer dagen i måneden på den gitte datoen.

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

timeReturnerer et heltall som tilsvarer antall timer på det gitte tidspunktet.

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

InStrDet tar et heltall og to strenger som argumenter. Returnerer posisjonen for forekomst av den andre strengen i den første, og starter søket på posisjonen gitt av et heltall.

Eksempel:

  • InStr(1, "Her er søkeordet", "ord") returnerer tallet 13.
  • InStr(14, "Her er søkeordet, og her er et annet søkeord", "ord") returnerer tallet 38.

OBS: Tallargumentet kan ikke spesifiseres, i så fall starter søket fra det første tegnet i strengen som er spesifisert i funksjonens andre argument.

intReturnerer heltallsdelen av det gitte tallet.

Eksempel: Int(5.79) gir resultat 5.

IsdateReturer ektehvis den gitte verdien er en dato, eller Falsk – hvis datoen ikke er det.

Eksempel:

  • IsDate(«01/01/2015») avkastning ekte;
  • IsDate(100) avkastning Falsk.
ErrorReturer ektehvis den gitte verdien er en feil, eller Falsk – hvis det ikke er en feil.
ManglerNavnet på et valgfritt prosedyreargument sendes som et argument til funksjonen. Mangler avkastning ektehvis ingen verdi ble sendt for det aktuelle prosedyreargumentet.
Er NumeriskReturer ektehvis den gitte verdien kan behandles som et tall, returnerer ellers Falsk.
VenstreReturnerer det angitte antallet tegn fra begynnelsen av den gitte strengen. Funksjonssyntaksen er slik:

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

hvor linje er den opprinnelige strengen, og lengde er antall tegn som skal returneres, tellende fra begynnelsen av strengen.

Eksempel:

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

Eksempel: Len(“abcdej”) returnerer tallet 7.

MånedReturnerer et heltall som tilsvarer måneden for den gitte datoen.

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

MidReturnerer det angitte antallet tegn fra midten av den gitte strengen. Funksjonssyntaks:

Midt(linje, Begynn, lengde)

hvor linje er den originale strengen Begynn – posisjonen til begynnelsen av strengen som skal trekkes ut, lengde er antall tegn som skal trekkes ut.

Eksempel:

  • Mid(“abvgdejziklmn”, 4, 5) returnerer strengen "hvor";
  • Mid(“abvgdejziklmn”, 10, 2) returnerer strengen "cl".
MinuttReturnerer et heltall som tilsvarer antall minutter i den gitte tiden. Eksempel: Minutt(«22:45:15») returnerer verdien 45.
Returnerer gjeldende systemdato og -klokkeslett.
Ikke santReturnerer det angitte antallet tegn fra slutten av den gitte strengen. Funksjonssyntaks:

Ikke sant(linje, lengde)

Hvor linje er den opprinnelige strengen, og lengde er antall tegn som skal trekkes ut, tellende fra slutten av den gitte strengen.

Eksempel:

  • Høyre(«abvgdezhziklmn», 4) returnerer strengen "clmn";
  • Høyre(«abvgdezhziklmn», 1) returnerer strengen "n".
SekundReturnerer et heltall som tilsvarer antall sekunder i den gitte tiden.

Eksempel: Second(«22:45:15») returnerer verdien 15.

sqrReturnerer kvadratroten av den numeriske verdien som sendes i argumentet.

Eksempel:

  • Sqr(4) returnerer verdien 2;
  • Sqr(16) returnerer verdien 4.
TidReturnerer gjeldende systemtid.
UboundReturnerer hevet skrift for den angitte matrisedimensjonen.

OBS: For flerdimensjonale matriser kan et valgfritt argument være indeksen for hvilken dimensjon som skal returneres. Hvis ikke spesifisert, er standard 1.

årReturnerer et heltall som tilsvarer året for den gitte datoen. Eksempel: År(«29/01/2015») returnerer verdien 2015.

Denne listen inkluderer bare et utvalg av de mest brukte innebygde Excel Visual Basic-funksjonene. En uttømmende liste over VBA-funksjoner som er tilgjengelige for bruk i Excel-makroer, finner du på Visual Basic Developer Center.

Legg igjen en kommentar