Funktsioonide kasutamiseks VBA -s on palju võimalusi. VBA-l on palju sisseehitatud funktsioone. Saate isegi luua oma funktsioone (UDF -e). Siiski saate rakenduses Application.WorksheetFunction kasutada ka paljusid Exceli funktsioone VBA -s.
Kuidas kasutada töölehe funktsioone VBA -s
Exceli funktsioonile juurdepääsuks VBA -s lisage rakendus.WorksheetFunction funktsiooni ees, millele soovite helistada. Allolevas näites nimetame Exceli maksimaalset funktsiooni:
12 | Maksimaalne väärtus on sama pikkmaxvalue = Application.WorksheetFunction.Max (Vahemik ("a1"). Väärtus, vahemik ("a2"). Väärtus) |
Funktsioonide süntaks on sama, kuid sisestate funktsiooni argumendid nagu iga teise VBA funktsiooni puhul.
Pange tähele, et tippimise ajal kuvatakse funktsiooni Max süntaks (sarnane VBA funktsioonidega):
TöölehtFunktsiooni meetod
WorksheetFunction on rakendusobjekti meetod. See võimaldab juurdepääsu paljudele (mitte kõigile) Exceli töölehtede standardfunktsioonidele. Üldiselt ei saa te juurdepääsu ühelegi töölehe funktsioonile, millel on vastav VBA versioon.
Allpool näete paljude kõige tavalisemate töölehtede funktsioonide loendit.
Application.WorksheetFunction vs Application
Nendele funktsioonidele juurdepääsuks on tegelikult kaks võimalust:
Application.WorksheetFunction (nagu eespool näha):
1 | maxvalue = Application.WorksheetFunction.Max (Vahemik ("a1"). Väärtus, vahemik ("a2"). Väärtus) |
või võite töölehe funktsiooni vahele jätta
1 | maxvalue = Application.Max (Vahemik ("a1"). Väärtus, vahemik ("a2"). Väärtus) |
Kahjuks kaotab funktsioon WorksheetFunction väljajätmine Intellisense, mis kuvab süntaksi (vt ülaltoodud pilti). Sellel on aga üks suur potentsiaalne eelis: Viga käsitsemisel.
Kui kasutate rakendust ja teie funktsioon tekitab tõrke, tagastab see veaväärtuse. Kui kasutate meetodit WorksheetFunction, annab VBA käivitusaja vea. Loomulikult saate VBA veaga hakkama, kuid tavaliselt on parem seda viga vältida.
Vaatame näidet, et näha erinevust:
Vlookupi töölehtFunktsiooni vigade käsitlemine
Püüame teostada Vlookupi, mille tulemuseks pole tulemust. Nii et funktsioon Vlookup tagastab vea.
Esiteks kasutame meetodit WorksheetFunction. Pange tähele, kuidas VBA viskab vea:
Järgmisena jätame töölehe funktsiooni vahele. Pange tähele, kuidas
Järgmisena jätame töölehe funktsiooni välja. Pange tähele, kuidas ühtegi viga ei visata ja selle asemel sisaldab funktsioon „väärtus” Vlookupi veaväärtust.
VBA töölehe funktsioonide loend
Allpool leiate nimekirja enamikest tavalistest VBA töölehe funktsioonidest.
Funktsioon | Kirjeldus |
---|---|
Loogiline | |
JA | Kontrollib, kas kõik tingimused on täidetud. ÕIGE VALE |
KUI | Kui tingimus on täidetud, tehke midagi, kui ei, siis tehke midagi muud. |
IFERROR | Kui tulemus on viga, tehke midagi muud. |
VÕI | Kontrollib, kas mõni tingimus on täidetud. ÕIGE VALE |
Otsing ja viide | |
VALI | Valib loendist väärtuse selle positsiooni numbri alusel. |
HLOOKUP | Otsige väärtus esimeselt realt ja tagastage väärtus. |
INDEX | Tagastab väärtuse selle veeru- ja reanumbrite põhjal. |
VAATA ÜLES | Otsib väärtusi kas horisontaalselt või vertikaalselt. |
MATCH | Otsib loendist väärtust ja tagastab selle asukoha. |
TRANSPOSEERIMINE | Pöörab lahtrite vahemiku orientatsiooni. |
VLOOKUP | Otsige esimesest veerust väärtus ja tagastage väärtus. |
Kuupäev Kellaaeg | |
DATE | Tagastab kuupäeva aastast, kuust ja päevast. |
DATEVALUE | Teisendab tekstina salvestatud kuupäeva kehtivaks kuupäevaks |
PÄEV | Tagastab päeva numbrina (1-31). |
PÄEVAD360 | Tagastab päevad kahe kuupäeva vahel 360 -päevase aasta jooksul. |
EDATE | Tagastab alguskuupäevast n kuu kaugusel oleva kuupäeva. |
EOMONTH | Tagastab kuu viimase päeva, n -kuulise kuupäeva. |
TUND | Tagastab tunni arvuna (0–23). |
MINUT | Tagastab minuti arvuna (0–59). |
KUU | Tagastab kuu numbrina (1–12). |
VÕRGUPÄEVAD | Tööpäevade arv kahe kuupäeva vahel. |
NETWORKDAYS.INTL | Tööpäevad kahe kuupäeva vahel, kohandatud nädalavahetused. |
KOHE | Tagastab praeguse kuupäeva ja kellaaja. |
TEINE | Tagastab teise arvuna (0–59) |
AEG | Tagastab aja tunnist, minutist ja sekundist. |
TIMEVALUE | Teisendab tekstina salvestatud aja kehtivaks ajaks. |
NÄDALAPÄEV | Tagastab nädalapäeva numbrina (1–7). |
WEEKNUM | Tagastab nädala arvu aastas (1–52). |
TÖÖPÄEV | Kuupäev n tööpäeva alates kuupäevast. |
AASTA | Tagastab aasta. |
AASTAARUANNE | Tagastab aasta murdosa kahe kuupäeva vahel. |
Inseneriteadus | |
CONVERT | Teisendage number ühest ühikust teise. |
Finants | |
FV | Arvutab tulevase väärtuse. |
PV | Arvutab praeguse väärtuse. |
NPER | Arvutab makseperioodide koguarvu. |
PMT | Arvutab maksesumma. |
HIND | Arvutab intressimäära. |
NPV | Arvutab praeguse netoväärtuse. |
IRR | Perioodiliste CF -de sisemine tootlus. |
XIRR | Mitteperioodiliste CF-de sisemine tootlus. |
HIND | Arvutab võlakirja hinna. |
INTRATE | Täielikult investeeritud väärtpaberi intressimäär. |
Teave | |
ISERR | Testige, kas lahtri väärtus on viga, ignoreerib #N/A. ÕIGE VALE |
ISERROR | Kontrollige, kas lahtri väärtus on viga. ÕIGE VALE |
ISEVEN | Kontrollige, kas lahtri väärtus on paaris. ÕIGE VALE |
ISLOOGILINE | Kontrollige, kas lahter on loogiline (TRUE või FALSE). ÕIGE VALE |
ISNA | Kontrollige, kas lahtri väärtus on #N/A. ÕIGE VALE |
ISNONTEXT | Kontrollige, kas lahter pole tekst (tühjad lahtrid ei ole tekst). ÕIGE VALE |
ISNUMBER | Kontrollige, kas lahter on arv. ÕIGE VALE |
ISODD | Kontrollige, kas lahtri väärtus on paaritu. ÕIGE VALE |
ISTEXT | Kontrollige, kas lahter on tekst. ÕIGE VALE |
TÜÜP | Tagastab lahtris oleva väärtuse tüübi. |
Matemaatika | |
ABS | Arvutab arvu absoluutväärtuse. |
ÜHENDADA | Määratlege ja tehke arvutused andmebaasi või loendi jaoks. |
LAE | Ümardab numbri ülespoole lähima määratud mitmikuni. |
COS | Tagastab nurga koosinuse. |
KRAADID | Teisendab radiaanid kraadideks. |
DSUM | Summeerib andmebaasi kirjeid, mis vastavad teatud kriteeriumidele. |
Isegi | Ümardab paarisarvuni lähima täisarvuni. |
EXP | Arvutab antud arvu eksponentsiaalse väärtuse. |
FAKT | Tagastab faktoriaali. |
PÕRAND | Ümardab numbri allapoole lähima määratud mitmekordseks. |
GCD | Tagastab suurima ühise jagaja. |
INT | Ümardab arvu allapoole lähima täisarvuni. |
LCM | Tagastab kõige vähem levinud kordaja. |
LN | Tagastab arvu loomuliku logaritmi. |
PALK | Tagastab arvu logaritmi määratud alusele. |
LOG10 | Annab vastuseks arvu 10 logaritmi. |
MROUND | Ümardab arvu määratud mitmekordseks. |
KUMMALINE | Ümardab lähima paaritu täisarvuni. |
PI | PI väärtus. |
VÕIM | Arvutab astmeks tõstetud arvu. |
TOOTE | Korrutab arvude massiivi. |
QUOTIENT | Tagastab jagamise täisarvu. |
RAADIANID | Teisendab nurga radiaanideks. |
RANDBETWEEN | Arvutab juhusliku arvu kahe numbri vahel. |
RING | Ümardab arvu määratud arvuni. |
ÜMBER | Ümardab arvu allapoole (nulli poole). |
KOKKU VÕTMA | Ümardab arvu üles (nullist eemale). |
PATT | Tagastab nurga siinuse. |
VAHESUMMA | Tagastab andmesarja kokkuvõtliku statistika. |
SUM | Liidab numbrid kokku. |
SUMIF | Summeerib kriteeriumidele vastavad numbrid. |
SUMIFS | Summeerib arvud, mis vastavad mitmele kriteeriumile. |
SUMPRODUCT | Korrutab numbrimassiive ja summeerib saadud massiivi. |
TAN | Tagastab nurga puutuja. |
Statistika | |
KESKMINE | Keskmised numbrid. |
KESKMINE | Keskmised kriteeriumidele vastavad numbrid. |
KESKMINE | Keskmine arv, mis vastab mitmele kriteeriumile. |
KORREL | Arvutab kahe seeria korrelatsiooni. |
COUNT | Loendab lahtreid, mis sisaldavad arvu. |
COUNTA | Loendage lahtrid, mis pole tühjad. |
LOENDUSTÜKK | Loendab tühjad lahtrid. |
COUNTIF | Loendab kriteeriumidele vastavaid lahtreid. |
COUNTIFS | Loendab lahtreid, mis vastavad mitmele kriteeriumile. |
PROGNOOS | Ennusta tulevasi y-väärtusi lineaarse trendijoone põhjal. |
Sagedus | Loendab väärtusi, mis jäävad kindlaksmääratud vahemikku. |
KASVU | Arvutab Y väärtused eksponentsiaalse kasvu põhjal. |
INTERCEPT | Arvutab Y-lõikepunkti kõige sobivama joone jaoks. |
SUUR | Tagastab k -nda suurima väärtuse. |
LINEST | Tagastab trendijoone statistika. |
MAX | Tagastab suurima arvu. |
MEEDIA | Tagastab keskmise arvu. |
MIN | Tagastab väikseima arvu. |
MODE | Tagastab kõige tavalisema numbri. |
PERCENTILE | Tagastab k -nda protsentiili. |
PERCENTILE.INC | Tagastab k -nda protsentiili. Kus k on kaasav. |
PERCENTILE.EXC | Tagastab k -nda protsentiili. Kus k on eksklusiivne. |
Kvartal | Tagastab määratud kvartiili väärtuse. |
QUARTILE.INC | Tagastab määratud kvartiili väärtuse. Kaasav. |
QUARTILE.EXC | Tagastab määratud kvartiili väärtuse. Eksklusiivne. |
KOHT | Numbri järjestus seerias. |
RANK.AVG | Numbri järjestus seerias. Keskmised. |
RANK.EQ | Numbri järjestus seerias. Esikoht. |
KALLE | Arvutab kalde lineaarse regressiooni põhjal. |
VÄIKE | Tagastab k -nda väikseima väärtuse. |
STDEV | Arvutab standardhälbe. |
STDEV.P | Arvutab kogu populatsiooni SD. |
STDEV.S | Arvutab proovi SD. |
STDEVP | Arvutab kogu populatsiooni SD |
TREND | Arvutab Y väärtused trendijoone põhjal. |
Tekst | |
CLEAN | Eemaldab kõik prinditavad märgid. |
DOLLAR | Teisendab numbri valuuta vormingus tekstiks. |
LEIA | Otsib teksti positsiooni lahtris. Väiketähtede tundlik. |
VASAK | Kärbib teksti vasakult mitu tähemärki. |
LEN | Loendab tekstis olevate märkide arvu. |
MID | Väljavõte lahtri keskelt. |
ÕIGE | Teisendab teksti õigeks. |
VAHETA | Asendab teksti selle asukoha alusel. |
REPT | Kordab teksti mitu korda. |
ÕIGE | Kärbib teksti paremalt poolt mitu tähemärki. |
OTSING | Otsib teksti asukoha lahtris. Ei ole tõstutundlik. |
ASENDUS | Otsib ja asendab teksti. Kirja tõstutundlik. |
TEKST | Teisendab väärtuse konkreetse numbrivorminguga tekstiks. |
TRIM | Eemaldab tekstist kõik tühikud. |