VBA operatori i ugrađene funkcije

Excel VBA izjave

Prilikom pisanja VBA koda u Excelu, u svakom koraku se koristi skup ugrađenih operatora. Ovi operatori se dijele na matematičke, stringove, uporedne i logičke operatore. Zatim ćemo detaljno pogledati svaku grupu operatora.

Matematički operatori

Glavni VBA matematički operatori navedeni su u tabeli ispod.

Desna kolona tabele prikazuje podrazumevani prioritet operatora u odsustvu zagrada. Dodavanjem zagrada izrazu, možete promijeniti redosljed u kojem se VBA naredbe izvršavaju kako želite.

operatorakcijaprioritet

(1 – najviše; 5 – najniže)

^operator eksponencije1
*operator množenja2
/operater divizije2
Dijeljenje bez ostatka – vraća rezultat dijeljenja dva broja bez ostatka. Na primjer, 74 će vratiti rezultat 13
hrabrostModulo (ostatak) operator – vraća ostatak nakon dijeljenja dva broja. Na primjer, 8 protiv 3 će vratiti rezultat 2.4
+Operator sabiranja5
-operator oduzimanja5

String Operatori

Osnovni string operator u Excel VBA je operator konkatenacije & (spajanje):

operatorakcija
&operator konkatenacije. Na primjer, izraz «A» i «B» će vratiti rezultat AB.

Operatori poređenja

Operatori poređenja se koriste za poređenje dva broja ili nizova i vraćanje logičke vrijednosti tipa Boolean (Tačno ili netačno). Glavni Excel VBA operatori poređenja su navedeni u ovoj tabeli:

operatorakcija
=Jednako tako
<>Nije jednako
<manje
>Više informacija
<=Manje ili jednako
>=Veće ili jednako

Logički operatori

Logički operatori, poput operatora poređenja, vraćaju logičku vrijednost tipa Boolean (Tačno ili netačno). Glavni logički operatori Excel VBA navedeni su u tabeli ispod:

operatorakcija
ioperacija konjukcije, logički operator И. Na primjer, izraz A i B Će se vratiti istinski, ako A и B oba su jednaka istinski, inače vrati lažan.
OrOperacija disjunkcije, logički operator OR. Na primjer, izraz A ili B Će se vratiti istinski, ako A or B su jednaki istinski, i vratit će se lažan, ako A и B oba su jednaka lažan.
neOperacija negacije, logički operator NIJE. Na primjer, izraz Ne A Će se vratiti istinski, ako A podjednako lažan, ili povratak lažan, ako A podjednako istinski.

Gornja tabela ne navodi sve logičke operatore dostupne u VBA. Kompletna lista logičkih operatora može se naći u Visual Basic Developer Center-u.

Ugrađene funkcije

Postoje mnoge ugrađene funkcije dostupne u VBA koje se mogu koristiti prilikom pisanja koda. U nastavku su navedeni neki od najčešće korištenih:

funkcijaakcija
ABSVraća apsolutnu vrijednost zadanog broja.

Primjer:

  • Trbušnjaci (-20) vraća vrijednost 20;
  • Trbušnjaci(20) vraća vrijednost 20.
BCVraća ANSI znak koji odgovara numeričkoj vrijednosti parametra.

Primjer:

  • Chr(10) vraća prijelom reda;
  • Chr(97) vraća znak a.
DatumVraća trenutni sistemski datum.
DateAddDodaje određeni vremenski interval datom datumu. Sintaksa funkcije:

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

Gdje je argument interval određuje tip vremenskog intervala koji se dodaje datom datum u iznosu navedenom u argumentu broj.

argument interval može uzeti jednu od sljedećih vrijednosti:

intervalvrijednost
ggggGodina
qčetvrt
mmjesec
ydan u godini
ddan
wdan u tjednu
wwsedmica
hsat
nminuta
sdrugi

Primjer:

  • Dodavanje datuma(«d», 32, «01.») dodaje 32 dana na datum 01/01/2015 i tako vraća datum 02/02/2015.
  • DateAdd(«ww», 36, «01/01/2015») dodaje 36 sedmica na datum 01/01/2015 i vraća datum 09/09/2015.
DateDiffIzračunava broj specificiranih vremenskih intervala između dva data datuma.

Primjer:

  • DateDiff(«d», «01/01/2015», «02/02/2015») izračunava broj dana između 01/01/2015 i 02/02/2015, vraća 32.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») izračunava broj sedmica između 01/01/2015 i 03/03/2016, vraća 61.
DanVraća cijeli broj koji odgovara danu u mjesecu u datom datumu.

Primjer: Dan(«29/01/2015») vraća broj 29.

satVraća cijeli broj koji odgovara broju sati u datom vremenu.

Primjer: Sat(«22:45:00») vraća broj 22.

InStrUzima cijeli broj i dva niza kao argumente. Vraća poziciju pojavljivanja drugog niza unutar prvog, počevši pretraživanje na poziciji zadanoj cijelim brojem.

Primjer:

  • InStr(1, “Ovo je riječ za pretraživanje”, “riječ”) vraća broj 13.
  • InStr(14, “Ovo je riječ za pretraživanje, a ovdje je još jedna riječ za pretraživanje”, “riječ”) vraća broj 38.

Bilješka: Argument broja možda nije naveden, u kom slučaju pretraga počinje od prvog znaka niza specificiranog u drugom argumentu funkcije.

IntVraća cijeli broj datog broja.

Primjer: Int(5.79) vraća rezultat 5.

Isdatepovraćaj istinskiako je data vrijednost datum, ili lažan – ako datum nije.

Primjer:

  • IsDate(«01/01/2015») povraćaj istinski;
  • IsDate(100) povraćaj lažan.
IsErrorpovraćaj istinskiako je data vrijednost greška, ili lažan – ako nije greška.
NedostajeIme opcionog argumenta procedure se prosleđuje kao argument funkciji. Nedostaje povraćaj istinskiako nije proslijeđena vrijednost za argument procedure u pitanju.
IsNumericpovraćaj istinskiako se data vrijednost može tretirati kao broj, inače vraća lažan.
lijevoVraća navedeni broj znakova s ​​početka datog niza. Sintaksa funkcije je ovakva:

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

gdje linija je originalni niz, i dužina je broj znakova za vraćanje, računajući od početka niza.

Primjer:

  • Lijevo(“abvgdejziklmn”, 4) vraća string “abcg”;
  • Lijevo(“abvgdejziklmn”, 1) vraća string “a”.
lenVraća broj znakova u nizu.

Primjer: Len(“abcdej”) vraća broj 7.

MjesecVraća cijeli broj koji odgovara mjesecu datog datuma.

Primjer: Mjesec(«29/01/2015») vraća vrijednost 1.

SredVraća navedeni broj znakova iz sredine datog niza. Sintaksa funkcije:

sredina(linija, start, dužina)

gdje linija je originalni niz start – položaj početka niza koji se izdvaja, dužina je broj znakova koji se izdvajaju.

Primjer:

  • Sredina(“abvgdejziklmn”, 4, 5) vraća string "gdje";
  • Sredina(“abvgdejziklmn”, 10, 2) vraća string “cl”.
minutaVraća cijeli broj koji odgovara broju minuta u datom vremenu. primjer: Minuta(«22:45:15») vraća vrijednost 45.
sadaVraća trenutni sistemski datum i vrijeme.
u pravuVraća navedeni broj znakova s ​​kraja datog niza. Sintaksa funkcije:

tačno (linija, dužina)

Gdje linija je originalni niz, i dužina je broj znakova za izdvajanje, računajući od kraja datog niza.

Primjer:

  • Desno(«abvgdezhziklmn», 4) vraća string “clmn”;
  • Desno(«abvgdezhziklmn», 1) vraća string “n”.
drugiVraća cijeli broj koji odgovara broju sekundi u datom vremenu.

Primjer: Drugi(«22:45:15») vraća vrijednost 15.

SqrVraća kvadratni korijen numeričke vrijednosti prenesene u argument.

Primjer:

  • Sqr(4) vraća vrijednost 2;
  • Sqr(16) vraća vrijednost 4.
vrijemeVraća trenutno sistemsko vrijeme.
UboundVraća gornji indeks navedene dimenzije niza.

Bilješka: Za višedimenzionalne nizove, neobavezni argument može biti indeks koje dimenzije treba vratiti. Ako nije navedeno, zadana vrijednost je 1.

GodinaVraća cijeli broj koji odgovara godini datog datuma. primjer: Godina(«29/01/2015») vraća vrijednost 2015.

Ova lista uključuje samo izbor najčešće korišćenih ugrađenih funkcija programa Excel Visual Basic. Iscrpna lista VBA funkcija dostupnih za upotrebu u Excel makroima može se naći u Visual Basic Developer Center-u.

Ostavite odgovor