Postoji mnogo načina korištenja funkcija u VBA -i. VBA dolazi s mnogo ugrađenih funkcija. Možete čak i stvoriti vlastite funkcije (UDF -ove). Međutim, pomoću programa Application.WorksheetFunction možete koristiti i mnoge Excel -ove funkcije u VBA -i.
Kako koristiti funkcije radnog lista u VBA
Za pristup Excel funkciji u VBA dodajte Application.WorksheetFunction ispred funkcije koju želite pozvati. U donjem primjeru nazvat ćemo Excelovu Max funkciju:
12 | Zatamnite maksimalnu vrijednost sve dokmaxvalue = Application.WorksheetFunction.Max (Raspon ("a1"). Vrijednost, raspon ("a2"). Vrijednost) |
Sintaksa funkcija je ista, no argumente funkcije ćete unijeti isto kao i bilo koju drugu VBA funkciju.
Primijetite da se sintaksa funkcije Max pojavljuje pri upisivanju (slično kao kod VBA funkcija):
Metoda rada radnog lista
WorksheetFunction je metoda Aplikacijskog objekta. Omogućuje vam pristup mnogim (ne svim) standardnim funkcijama radnog lista programa Excel. Općenito, nećete dobiti pristup nijednoj funkciji radnog lista koja ima odgovarajuću verziju VBA.
U nastavku možete vidjeti popis mnogih najčešćih funkcija radnog lista.
Application.WunksheetFunction vs Application
Zapravo postoje dva načina pristupa tim funkcijama:
Application.WorksheetFunction (kao što je gore prikazano):
1 | maxvalue = Application.WorksheetFunction.Max (Raspon ("a1"). Vrijednost, raspon ("a2"). Vrijednost) |
ili možete izostaviti funkciju radnog lista
1 | maxvalue = Application.Max (Raspon ("a1"). Vrijednost, raspon ("a2"). Vrijednost) |
Nažalost, izostavljanje funkcije WorksheetFunction uklonit će Intellisense koji prikazuje sintaksu (vidi gornju sliku). Međutim, ima jednu veliku potencijalnu prednost: Rukovanje pogreškama.
Ako koristite aplikaciju, a vaša funkcija generira pogrešku, vratit će vrijednost pogreške. Ako koristite metodu WorksheetFunction, VBA će prikazati pogrešku tijekom izvođenja. Naravno, možete riješiti VBA pogrešku, ali obično je bolje izbjeći pogrešku.
Pogledajmo primjer kako bismo vidjeli razliku:
Upravljanje pogreškama u funkciji Vlookup radnog lista
Pokušat ćemo izvesti Vlookup koji neće rezultirati podudaranjem. Tako će funkcija Vlookup vratiti pogrešku.
Prvo ćemo koristiti metodu WorksheetFunction. Obratite pažnju na to kako VBA prikazuje pogrešku:
Zatim izostavljamo funkciju radnog lista. Uočite kako je
Zatim ćemo izostaviti funkciju radnog lista. Uočite kako se ne pojavljuje pogreška i umjesto toga funkcija 'vrijednost' sadrži vrijednost pogreške iz Vlookupa.
Popis funkcija VBA radnog lista
Dolje ćete pronaći popis većine uobičajenih funkcija VBA radnog lista.
Funkcija | Opis |
---|---|
Logično | |
I | Provjerava jesu li ispunjeni svi uvjeti. TOČNO NETOČNO |
AKO | Ako je uvjet ispunjen, učinite nešto, ako ne, učinite nešto drugo. |
POGREŠAK | Ako je rezultat pogreška, učinite nešto drugo. |
ILI | Provjerava jesu li ispunjeni neki uvjeti. TOČNO NETOČNO |
Traženje i upućivanje | |
ODABERITE | Bira vrijednost s popisa na temelju broja pozicije. |
HLOOKUP | Potražite vrijednost u prvom retku i vratite vrijednost. |
INDEKS | Vraća vrijednost na temelju brojeva stupaca i redaka. |
POGLEDAJ | Traži vrijednosti vodoravno ili okomito. |
UTAKMICA | Traži vrijednost na popisu i vraća njezin položaj. |
TRANSPOZA | Okreće orijentaciju niza stanica. |
VLOOKUP | Potražite vrijednost u prvom stupcu i vratite vrijednost. |
Datum vrijeme | |
DATUM | Vraća datum iz godine, mjeseca i dana. |
DATEVALUE | Pretvara datum pohranjen kao tekst u valjani datum |
DAN | Vraća dan kao broj (1-31). |
360 DANA | Vraća dane između 2 datuma u 360 -dnevnoj godini. |
IZMENI | Vraća datum udaljen n mjeseci od datuma početka. |
EOMONTH | Vraća zadnji dan u mjesecu, udaljeno n mjeseci. |
SAT | Vraća sat kao broj (0-23). |
MINUTA | Vraća minutu kao broj (0-59). |
MJESEC | Vraća mjesec kao broj (1-12). |
MREŽNI DANI | Broj radnih dana između 2 datuma. |
NETWORKDAYS.INTL | Radni dani između 2 datuma, prilagođeni vikendi. |
SADA | Vraća trenutni datum i vrijeme. |
DRUGI | Vraća drugi kao broj (0-59) |
VRIJEME | Vraća vrijeme od sata, minute i sekunde. |
VRIJEME | Pretvara vrijeme pohranjeno kao tekst u valjano vrijeme. |
TJEDAN | Vraća dan u tjednu kao broj (1-7). |
TJEDAN | Vraća broj tjedna u godini (1-52). |
RADNI DAN | Datum n radnih dana od datuma. |
GODINA | Vraća godinu. |
GODIŠNJAK | Vraća dio godine između 2 datuma. |
Inženjering | |
PRETVORITI | Pretvorite broj iz jedne jedinice u drugu. |
Financijski | |
FV | Izračunava buduću vrijednost. |
PV | Izračunava sadašnju vrijednost. |
NPER | Izračunava ukupan broj razdoblja plaćanja. |
PMT | Izračunava iznos plaćanja. |
STOPA | Izračunava kamatnu stopu. |
NPV | Izračunava neto sadašnju vrijednost. |
IRR | Interna stopa povrata za skup periodičnih CF -ova. |
XIRR | Interna stopa povrata za skup neperiodičnih CF-ova. |
CIJENA | Izračunava cijenu obveznice. |
INTRATE | Kamatna stopa potpuno uloženog vrijednosnog papira. |
Informacija | |
ISERR | Testirajte je li vrijednost ćelije pogreška, zanemaruje #N/A. TOČNO NETOČNO |
GREŠKA | Testirajte je li vrijednost ćelije pogreška. TOČNO NETOČNO |
NEZAVISNO | Testirajte je li vrijednost ćelije parna. TOČNO NETOČNO |
ISLOŠKI | Testirajte je li ćelija logična (TRUE ili FALSE). TOČNO NETOČNO |
ISNA | Testirajte je li vrijednost ćelije #N/A. TOČNO NETOČNO |
ISNONTEXT | Testirajte ako ćelija nije tekst (prazne ćelije nisu tekst). TOČNO NETOČNO |
BROJ | Testirajte je li ćelija broj. TOČNO NETOČNO |
ISODD | Testirajte je li vrijednost ćelije neparna. TOČNO NETOČNO |
ISTEXT | Testirajte je li ćelija tekst. TOČNO NETOČNO |
TIP | Vraća vrstu vrijednosti u ćeliju. |
Matematika | |
ABS | Izračunava apsolutnu vrijednost broja. |
AGREGAT | Definirajte i izvedite izračune za bazu podataka ili popis. |
STROP | Zaokružuje broj prema najbližem navedenom višekratniku. |
COS | Vraća kosinus kuta. |
STEPENI | Pretvara radijane u stupnjeve. |
DSUM | Zapisi baze podataka o sumama koji zadovoljavaju određene kriterije. |
ČAK | Zaokružuje na najbliži parni cijeli broj. |
EXP | Izračunava eksponencijalnu vrijednost za dati broj. |
ČINJENICA | Vraća faktorijel. |
KAT | Zaokružuje broj prema dolje na najbliži navedeni višekratnik. |
GCD | Vraća najveći zajednički djelitelj. |
INT | Zaokružuje broj na najbliži cijeli broj. |
LCM | Vraća najmanji zajednički višekratnik. |
LN | Vraća prirodni logaritam broja. |
LOG | Vraća logaritam broja na određenu bazu. |
LOG10 | Vraća logaritam baze-10 broja. |
MROUND | Zaokružuje broj na određeni višekratnik. |
NEPARAN | Zaokružuje na najbliži neparan cijeli broj. |
PI | Vrijednost PI. |
VLAST | Izračunava broj podignut na stepen. |
PROIZVOD | Množi niz brojeva. |
QUOTIENT | Vraća cijeli rezultat dijeljenja. |
RADIJANCI | Pretvara kut u radijane. |
RANDBETWEEN | Izračunava slučajni broj između dva broja. |
KRUG | Zaokružuje broj na određeni broj znamenki. |
ROUNDDOWN | Zaokružuje broj prema dolje (prema nuli). |
OKUPITE SE | Zaokružuje broj prema gore (dalje od nule). |
GRIJEH | Vraća sinus kuta. |
SUBTOTAL | Vraća zbirnu statistiku za niz podataka. |
IZNOS | Zbraja brojeve. |
SUMIF | Zbrojevi koji zadovoljavaju kriterije. |
ZBIRUJE | Zbrojevi koji zadovoljavaju više kriterija. |
PODUZIMAK | Množi nizove brojeva i zbraja rezultirajući niz. |
TAN | Vraća tangentu kuta. |
Statistika | |
PROSJEČNO | Prosječni brojevi. |
PROSJEČNO | Prosječni brojevi koji zadovoljavaju kriterije. |
PROSJEČNO | Prosječni brojevi koji zadovoljavaju više kriterija. |
CORREL | Izračunava korelaciju dviju serija. |
RAČUNATI | Broji ćelije koje sadrže broj. |
COUNTA | Prebrojte ćelije koje nisu prazne. |
COUNTBLANK | Broji prazne ćelije. |
COUNTIF | Broji ćelije koje zadovoljavaju kriterije. |
GROFOVI | Broji ćelije koje zadovoljavaju više kriterija. |
PROGNOZA | Predvidite buduće y-vrijednosti iz linearne linije trenda. |
FREKVENCIJA | Broji vrijednosti koje su unutar navedenih raspona. |
RAST | Izračunava vrijednosti Y na temelju eksponencijalnog rasta. |
PRESREČI | Izračunava presjek Y za liniju koja najbolje pristaje. |
VELIKI | Vraća kth najveću vrijednost. |
LINEST | Vraća statistiku o liniji trenda. |
MAKS | Vraća najveći broj. |
MEDIJSKI | Vraća medijanski broj. |
MIN | Vraća najmanji broj. |
NAČIN RADA | Vraća najčešći broj. |
POSTOTAK | Vraća k -ti percentil. |
PERCENTILNI.INC | Vraća k -ti percentil. Gdje je k inkluzivno. |
PERCENTILNI.EXC | Vraća k -ti percentil. Gdje je k isključivo. |
KVARTILNI | Vraća navedenu vrijednost kvartila. |
QUARTILE.INC | Vraća navedenu vrijednost kvartila. Uključujući. |
QUARTILE.EXC | Vraća navedenu vrijednost kvartila. Ekskluzivan. |
RANG | Poredak broja u nizu. |
RANK.AVG | Poredak broja u nizu. Prosjeci. |
RANG.EQ | Poredak broja u nizu. Vrhunski rang. |
NAGIB | Izračunava nagib iz linearne regresije. |
MALI | Vraća k -tu najmanju vrijednost. |
STDEV | Izračunava standardnu devijaciju. |
STDEV.P | Izračunava SD čitave populacije. |
STDEV.S | Izračunava SD uzorka. |
STDEVP | Izračunava SD čitave populacije |
TREND | Izračunava vrijednosti Y na temelju linije trenda. |
Tekst | |
ČIST | Uklanja sve znakove koji se ne mogu ispisati. |
DOLAR | Pretvara broj u tekst u obliku valute. |
PRONAĆI | Locira položaj teksta unutar ćelije.Osjetljivo na velika i mala slova. |
LIJEVO | Skraćuje tekst nekoliko znakova s lijeve strane. |
LEN | Broji broj znakova u tekstu. |
SREDNJA | Izdvaja tekst iz sredine ćelije. |
ISPRAVAN | Pretvara tekst u velika i mala slova. |
ZAMIJENITI | Zamjenjuje tekst na temelju njegove lokacije. |
REPT | Ponavlja tekst nekoliko puta. |
PRAVO | Skraćuje tekst nekoliko znakova s desne strane. |
TRAŽI | Locira položaj teksta unutar ćelije. Ne razlikuje velika i mala slova. |
ZAMJENA | Pronalazi i zamjenjuje tekst. Osjetljivo na velika i mala slova. |
TEKST | Pretvara vrijednost u tekst s određenim formatom broja. |
TRIM | Uklanja sve dodatne razmake iz teksta. |