V VBA obstaja veliko načinov uporabe funkcij. VBA je opremljen s številnimi vgrajenimi funkcijami. Ustvarite lahko celo lastne funkcije (UDF). Vendar pa lahko z uporabo Application.WorksheetFunction uporabite tudi številne Excelove funkcije v VBA.
Kako uporabljati funkcije delovnega lista v VBA
Za dostop do funkcije Excel v VBA dodajte funkcijo Application.WorksheetFunction pred funkcijo, ki jo želite poklicati. V spodnjem primeru bomo poklicali Excelovo funkcijo Max:
12 | Maksimalno vrednost zatemnite tako dolgomaxvalue = Application.WorksheetFunction.Max (Razpon ("a1"). Vrednost, obseg ("a2"). Vrednost) |
Sintaksa funkcij je enaka, vendar boste vnesli argumente funkcije tako kot katero koli drugo funkcijo VBA.
Upoštevajte, da se sintaksa funkcije Max prikaže pri tipkanju (podobno kot pri funkcijah VBA):
Metoda delovanja delovnega lista
WorksheetFunction je metoda predmeta aplikacije. Omogoča vam dostop do številnih (ne vseh) standardnih funkcij delovnega lista Excel. Na splošno ne boste imeli dostopa do nobene funkcije delovnega lista, ki ima ustrezno različico VBA.
Spodaj si lahko ogledate seznam številnih najpogostejših funkcij delovnega lista.
Funkcija delovnega lista proti aplikaciji
Do teh funkcij lahko dostopate na dva načina:
Application.WunksheetFunction (kot je prikazano zgoraj):
1 | maxvalue = Application.WorksheetFunction.Max (Razpon ("a1"). Vrednost, obseg ("a2"). Vrednost) |
ali pa lahko izpustite funkcijo delovnega lista
1 | maxvalue = Application.Max (Razpon ("a1"). Vrednost, obseg ("a2"). Vrednost) |
Na žalost bo izpustitev funkcije delovnega lista odpravila Intellisense, ki prikazuje skladnjo (glej sliko zgoraj). Vendar ima eno veliko potencialno prednost: Obravnavanje napak.
Če uporabljate aplikacijo in vaša funkcija ustvari napako, bo vrnila vrednost napake. Če uporabite metodo WorksheetFunction, bo VBA vrgel napako v času izvajanja. Seveda lahko odpravite napako VBA, vendar je običajno bolje, da se napaki najprej izognete.
Oglejmo si primer, da vidimo razliko:
Obdelava napak v delovnem listu Vlookup
Poskušali bomo izvesti Vlookup, ki se ne bo ujemal. Tako bo funkcija Vlookup vrnila napako.
Najprej bomo uporabili metodo WorksheetFunction. Upoštevajte, kako VBA prikaže napako:
Nato izpustimo funkcijo delovnega lista. Upoštevajte, kako
Nato bomo izpustili funkcijo delovnega lista. Upoštevajte, kako ni napake, namesto tega funkcija "vrednost" vsebuje vrednost napake iz Vlookupa.
Seznam funkcij delovnega lista VBA
Spodaj boste našli seznam najpogostejših funkcij delovnega lista VBA.
Funkcija | Opis |
---|---|
Logično | |
IN | Preveri, ali so izpolnjeni vsi pogoji. PRAVILNO NAPAČNO |
ČE | Če je pogoj izpolnjen, naredite nekaj, če ne, naredite nekaj drugega. |
NAPAKA | Če je rezultat napaka, naredite nekaj drugega. |
ALI | Preveri, ali so izpolnjeni kateri koli pogoji. PRAVILNO NAPAČNO |
Iskanje in sklicevanje | |
IZBERI | Izbere vrednost s seznama glede na številko položaja. |
HLOOKUP | Poiščite vrednost v prvi vrstici in vrnite vrednost. |
KAZALO | Vrne vrednost glede na številke stolpcev in vrstic. |
POGLEJ GOR | Poišče vrednosti vodoravno ali navpično. |
UJEMA | Išče vrednost na seznamu in vrne njen položaj. |
PREVOZ | Obrne usmeritev vrste celic. |
VLOOKUP | Poiščite vrednost v prvem stolpcu in vrnite vrednost. |
Datum čas | |
DATE | Vrne datum iz leta, meseca in dneva. |
DATEVALUE | Pretvori datum, shranjen kot besedilo, v veljaven datum |
DAN | Vrne dan kot številko (1-31). |
360 DNI | Vrne dneve med 2 datumoma v 360 -dnevnem letu. |
UREDI | Vrne datum, n mesecev stran od začetnega datuma. |
EOMONTH | Vrne zadnji dan v mesecu, n mesecev stran. |
URA | Vrne uro kot številko (0-23). |
MINUTA | Vrne minuto kot številko (0-59). |
MESEC | Vrne mesec kot številko (1-12). |
NETWORKDAYS | Število delovnih dni med dvema datumoma. |
NETWORKDAYS.INTL | Delovni dnevi med dvema datumoma, vikendi po meri. |
ZDAJ | Vrne trenutni datum in čas. |
DRUGI | Vrne drugo kot številko (0-59) |
ČAS | Vrne čas od ure, minute in sekunde. |
ČAS | Čas, shranjen kot besedilo, pretvori v veljaven čas. |
TEDEN | Vrne dan v tednu kot številko (1-7). |
WEEKNUM | Vrne številko tedna v enem letu (1-52). |
DELOVNI DAN | Datum n delovnih dni od datuma. |
LETO | Vrne leto. |
LETOFRAC | Vrne del leta med 2 datumoma. |
Inženiring | |
PRETVORBA | Pretvorite število iz ene enote v drugo. |
Finančni | |
FV | Izračuna prihodnjo vrednost. |
PV | Izračuna sedanjo vrednost. |
NPER | Izračuna skupno število plačilnih obdobij. |
PMT | Izračuna znesek plačila. |
OCENITI | Izračuna obrestno mero. |
NPV | Izračuna neto sedanjo vrednost. |
IRR | Notranja stopnja donosa za niz periodičnih CF. |
XIRR | Notranja stopnja donosa za niz neperiodičnih CF. |
CENA | Izračuna ceno obveznice. |
INTRATE | Obrestna mera v celoti vloženega vrednostnega papirja. |
Informacije | |
ISERR | Preverite, ali je vrednost celice napaka, prezre #N/A. PRAVILNO NAPAČNO |
NAPAKA | Preverite, ali je vrednost celice napaka. PRAVILNO NAPAČNO |
NEEVEN | Preverite, ali je vrednost celice izenačena. PRAVILNO NAPAČNO |
ISLOŠKO | Preverite, ali je celica logična (TRUE ali FALSE). PRAVILNO NAPAČNO |
ISNA | Preverite, če je vrednost celice #N/A. PRAVILNO NAPAČNO |
ISNONTEXT | Preverite, ali celica ni besedilo (prazne celice niso besedilo). PRAVILNO NAPAČNO |
ISNUMBER | Preverite, ali je celica številka. PRAVILNO NAPAČNO |
ISODD | Preverite, ali je vrednost celice liha. PRAVILNO NAPAČNO |
ISTEXT | Preverite, ali je celica besedilo. PRAVILNO NAPAČNO |
TIP | Vrne vrsto vrednosti v celici. |
Matematika | |
ABS | Izračuna absolutno vrednost števila. |
AGREGAT | Določite in izvedite izračune za bazo podatkov ali seznam. |
STROP | Zaokroži število navzgor do najbližjega določenega večkratnika. |
COS | Vrne kosinus kota. |
STEPENI | Pretvori radiane v stopinje. |
DSUM | Zapisi zbirke vsot, ki izpolnjujejo določena merila. |
Sploh | Zaokroži na najbližje celo število. |
EXP | Izračuna eksponentno vrednost za dano število. |
DEJSTVO | Vrne faktorije. |
NADSTROPJE | Zaokroži število navzdol do najbližjega določenega večkratnika. |
GCD | Vrne največji skupni delitelj. |
INT | Zaokroži število na najbližje celo število. |
LCM | Vrne najmanjši skupni večkratnik. |
LN | Vrne naravni logaritem števila. |
LOG | Vrne logaritem števila na podano osnovo. |
LOG10 | Vrne logaritem osnove-10 števila. |
MROUND | Zaokroži število na določen večkratnik. |
ČUDEN | Zaokroži na najbližje liho celo število. |
PI | Vrednost PI. |
MOČ | Izračuna število, povišano na stopnjo. |
IZDELEK | Pomnoži niz številk. |
QUOTIENT | Vrne celoštevilčni rezultat deljenja. |
RADIANS | Pretvori kot v radiane. |
RANDBETWEEN | Izračuna naključno število med dvema številkama. |
ROUND | Zaokroži številko na določeno število števk. |
ROUNDDOWN | Zaokroži število navzdol (proti ničli). |
ZAOKROŽI NAVZGOR | Zaokroži število navzgor (stran od nič). |
SIN | Vrne sinus kota. |
SUBTOTAL | Vrne povzetek statistike za vrsto podatkov. |
SUM | Sešteje številke. |
SUMIF | Številke vsote, ki izpolnjujejo merila. |
SUMIFS | Številke vsot, ki izpolnjujejo več meril. |
PODROČJE | Pomnoži matrike števil in sešteje nastalo matriko. |
TAN | Vrne tangento kota. |
Statistika | |
POVPREČNO | Povprečne številke. |
POVPREČNO | Povprečne številke, ki izpolnjujejo merila. |
POVPREČNO | Povprečne številke, ki izpolnjujejo več meril. |
CORREL | Izračuna korelacijo dveh serij. |
COUNT | Šteje celice, ki vsebujejo številko. |
COUNTA | Preštejte celice, ki niso prazne. |
COUNTBLANK | Šteje prazne celice. |
COUNTIF | Šteje celice, ki izpolnjujejo merila. |
COUNTIFS | Šteje celice, ki izpolnjujejo več meril. |
NAPOVED | Predvidevajte prihodnje vrednosti y iz linearne linije trenda. |
FREKVENCIJA | Šteje vrednosti, ki spadajo v določena območja. |
RAST | Izračuna vrednosti Y na podlagi eksponentne rasti. |
PREKREZI | Izračuna prestrezanje Y za linijo, ki se najbolje prilega. |
VELIKO | Vrne kth največjo vrednost. |
LINEST | Vrne statistične podatke o liniji trenda. |
MAX | Vrne največje število. |
SREDNJI | Vrne srednjo številko. |
MIN | Vrne najmanjše število. |
NAČIN | Vrne najpogostejšo številko. |
PERCENTILNO | Vrne k -ti percentil. |
PERCENTILE.INC | Vrne k -ti percentil. Kjer je vključujoče. |
PERCENTILE.EXC | Vrne k -ti percentil. Kje je izključno. |
KVARTILNI | Vrne podano vrednost kvartila. |
QUARTILE.INC | Vrne podano vrednost kvartila. Vključno. |
QUARTILE.EXC | Vrne podano vrednost kvartila. Ekskluzivno. |
RANG | Uvrstitev števila v nizu. |
RANK.AVG | Uvrstitev števila v nizu. Povprečje. |
RANK.EQ | Uvrstitev števila v nizu. Najvišja uvrstitev. |
NAKLON | Izračuna naklon iz linearne regresije. |
MALO | Vrne kth najmanjšo vrednost. |
STDEV | Izračuna standardni odklon. |
STDEV.P | Izračuna SD celotne populacije. |
STDEV.S | Izračuna SD vzorca. |
STDEVP | Izračuna SD celotne populacije |
TREND | Izračuna vrednosti Y na podlagi linije trenda. |
Besedilo | |
ČISTO | Odstrani vse znake, ki jih ni mogoče natisniti. |
DOLLAR | Pretvori številko v besedilo v obliki valute. |
NAJTI | Poišče položaj besedila v celici. |
LEVO | Odreže besedilo več znakov z leve. |
LEN | Šteje število znakov v besedilu. |
MID | Izvleče besedilo iz sredine celice. |
PRAVILNO | Besedilo pretvori v velike in male črke. |
ZAMENJATI | Zamenja besedilo glede na njegovo lokacijo. |
REPT | Besedilo ponovi večkrat. |
PRAV | Odreže besedilo več znakov z desne. |
ISKANJE | Poišče položaj besedila v celici. Ne razlikuje med velikimi in malimi črkami. |
ZAMENJA | Poišče in nadomesti besedilo. Velike in male črke |
BESEDILO | Pretvori vrednost v besedilo z določeno obliko števila. |
TRIM | Odstrani vse dodatne presledke iz besedila. |