Yra daug būdų, kaip naudoti funkcijas VBA. VBA yra daug integruotų funkcijų. Jūs netgi galite sukurti savo funkcijas (UDF). Tačiau naudodami „Application.WorksheetFunction“ taip pat galite naudoti daugelį „Excel“ funkcijų VBA.
Kaip naudoti darbalapio funkcijas VBA
Norėdami pasiekti „Excel“ funkciją VBA, pridėkite „Application.WorksheetFunction“ priešais funkciją, kurią norite iškviesti. Žemiau esančiame pavyzdyje mes vadinsime „Excel“ maksimalią funkciją:
12 | Maksimali reikšmė tol, kol sumažėjamaxvalue = Application.WorksheetFunction.Max (Diapazonas ("a1"). Vertė, diapazonas ("a2"). Vertė) |
Funkcijų sintaksė yra ta pati, tačiau funkcijos argumentus įvesite taip pat, kaip ir bet kurią kitą VBA funkciją.
Atkreipkite dėmesį, kad įvedant tekstą rodoma maksimalios funkcijos sintaksė (panaši į VBA funkcijas):
Darbo lapasFunkcijos metodas
„WorksheetFunction“ yra taikymo objekto metodas. Tai leidžia pasiekti daugybę (ne visų) standartinių „Excel“ darbalapio funkcijų. Paprastai negalėsite pasiekti jokių darbalapio funkcijų, turinčių atitinkamą VBA versiją.
Žemiau galite pamatyti daugelio dažniausiai naudojamų darbalapio funkcijų sąrašą.
„Application.WorksheetFunction“ ir „Application“
Iš tikrųjų yra du būdai pasiekti šias funkcijas:
Application.WorksheetFunction (kaip parodyta aukščiau):
1 | maxvalue = Application.WorksheetFunction.Max (Diapazonas ("a1"). Vertė, diapazonas ("a2"). Vertė) |
arba galite praleisti „WorksheetFunction“
1 | maxvalue = Application.Max (Diapazonas ("a1"). Vertė, diapazonas ("a2"). Vertė) |
Deja, praleidus „WorksheetFunction“, nebus pašalinta „Intellisense“, rodanti sintaksę (žr. Paveikslėlį aukščiau). Tačiau jis turi vieną didelį potencialų pranašumą: Tvarkant klaidas.
Jei naudojate programą ir jūsų funkcija sukuria klaidą, ji grąžins klaidos vertę. Jei naudosite „WorksheetFunction“ metodą, VBA pateiks vykdymo laiko klaidą. Žinoma, galite tvarkyti VBA klaidą, tačiau paprastai geriau išvengti klaidos.
Pažvelkime į pavyzdį, kad pamatytume skirtumą:
„Vlookup“ darbalapis Funkcijų klaidų tvarkymas
Bandysime atlikti „Vlookup“, kurio rezultatas nebus rungtynės. Taigi „Vlookup“ funkcija grąžins klaidą.
Pirma, mes naudosime metodą „WorksheetFunction“. Atkreipkite dėmesį, kaip VBA išmeta klaidą:
Toliau praleidžiame „WorksheetFunction“. Atkreipkite dėmesį, kaip
Toliau mes praleisime „WorksheetFunction“. Atkreipkite dėmesį, kaip nėra išmetama klaida, o vietoj to „funkcijos“ reikšme yra klaidos vertė iš „Vlookup“.
VBA darbalapio funkcijų sąrašas
Žemiau rasite daugumos įprastų VBA darbalapio funkcijų sąrašą.
Funkcija | apibūdinimas |
---|---|
Logiška | |
IR | Tikrina, ar įvykdytos visos sąlygos. TIESA/NETIESA |
JEI | Jei sąlyga įvykdyta, darykite ką nors, jei ne, darykite ką nors kita. |
IFERROR | Jei rezultatas yra klaida, darykite ką nors kita. |
ARBA | Tikrina, ar tenkinamos kokios nors sąlygos. TIESA/NETIESA |
Paieška ir nuoroda | |
PASIRINKITE | Iš sąrašo pasirenka vertę pagal jo pozicijos numerį. |
PERŽIŪRĖTI | Suraskite vertę pirmoje eilutėje ir grąžinkite vertę. |
INDEKSAS | Pateikia vertę pagal jos stulpelių ir eilučių numerius. |
ŽIŪRĖTI | Ieškoma vertybių horizontaliai arba vertikaliai. |
Rungtynės | Ieško vertės sąraše ir grąžina jo poziciją. |
PERDAVIMAS | Pasuka langelių diapazono orientaciją. |
VLOOKUP | Pirmajame stulpelyje raskite vertę ir grąžinkite vertę. |
Data ir laikas | |
DATA | Pateikia datą iš metų, mėnesio ir dienos. |
DATEVALUE | Konvertuoja datą, saugomą kaip tekstą, į galiojančią datą |
DIENA | Grąžina dieną kaip skaičių (1-31). |
360 DIENOS | Pateikiamos dienos tarp dviejų datų per 360 dienų metus. |
EDATE | Pateikia datą, n mėnesių nuo pradžios datos. |
EOMONTH | Pateikia paskutinę mėnesio dieną, n mėnesio datą. |
VALANDA | Pateikia valandą kaip skaičių (0–23). |
MINUTĖ | Grąžina minutę kaip skaičių (0–59). |
MĖNESIS | Grąžina mėnesį kaip skaičių (1–12). |
TINKLO DIENOS | Darbo dienų skaičius tarp 2 datų. |
NETWORKDAYS.INTL | Darbo dienos tarp 2 datų, nestandartiniai savaitgaliai. |
DABAR | Pateikia dabartinę datą ir laiką. |
ANTRAS | Grąžina antrąjį kaip skaičių (0–59) |
LAIKAS | Grąžina laiką nuo valandos, minutės ir sekundės. |
TIMEVALUE | Laikas, išsaugotas kaip tekstas, paverčiamas tinkamu laiku. |
SAVAITGALIS | Pateikia savaitės dieną kaip skaičių (1–7). |
WEEKNUM | Grąžina savaitės skaičių per metus (1-52). |
DARBO DIENA | Data n darbo dienų nuo datos. |
YEAR | Grąžina metus. |
METAI | Grąžina metų dalį tarp 2 datų. |
Inžinerija | |
PAVERSTI | Konvertuokite skaičių iš vieno vieneto į kitą. |
Finansinė | |
FV | Skaičiuoja būsimą vertę. |
PV | Skaičiuoja dabartinę vertę. |
NPER | Skaičiuoja bendrą mokėjimo laikotarpių skaičių. |
PMT | Skaičiuoja mokėjimo sumą. |
ĮVERTINIMAS | Skaičiuoja palūkanų normą. |
NPV | Skaičiuoja grynąją dabartinę vertę. |
IRR | Periodinių CF rinkinių vidinė grąžos norma. |
XIRR | Neperiodinių CF rinkinių vidinė grąžos norma. |
KAINA | Skaičiuoja obligacijos kainą. |
INTRATE | Visiškai investuoto vertybinio popieriaus palūkanų norma. |
Informacija | |
ISERR | Patikrinkite, ar langelio vertė yra klaida, nepaisoma #N/A. TIESA/NETIESA |
ISERROR | Patikrinkite, ar langelio vertė yra klaida. TIESA/NETIESA |
ISEVEN | Patikrinkite, ar langelio vertė yra lygi. TIESA/NETIESA |
ISLOGINIS | Patikrinkite, ar langelis logiškas (TIESA ar NETIESA). TIESA/NETIESA |
ISNA | Patikrinkite, ar langelio vertė yra #N/A. TIESA/NETIESA |
ISNONTEXT | Patikrinkite, ar langelis nėra tekstas (tušti langeliai nėra tekstas). TIESA/NETIESA |
ISNUMBER | Patikrinkite, ar langelis yra skaičius. TIESA/NETIESA |
ISODD | Patikrinkite, ar langelio vertė yra nelyginė. TIESA/NETIESA |
ISTEXT | Patikrinkite, ar langelis yra tekstas. TIESA/NETIESA |
TYPE | Grąžina langelio vertės tipą. |
Matematika | |
ABS | Skaičiuoja absoliučią skaičiaus vertę. |
SUDARYTI | Nustatykite ir atlikite duomenų bazės ar sąrašo skaičiavimus. |
LUBOS | Apvalina skaičių aukštyn iki artimiausio nurodyto kartotinio. |
COS | Grąžina kampo kosinusą. |
LAIPTAI | Radianus paverčia laipsniais. |
DSUM | Sumų duomenų bazės įrašai, atitinkantys tam tikrus kriterijus. |
NET net | Suapvalina iki artimiausio lyginio sveikojo skaičiaus. |
Tinka iki | Skaičiuoja nurodyto skaičiaus eksponentinę vertę. |
FAKTAS | Grąžina faktorių. |
GRINDYS | Suapvalina skaičių žemyn iki artimiausio nurodyto kartotinio. |
GCD | Grąžina didžiausią bendrąjį daliklį. |
INT | Apvalina skaičių žemyn iki artimiausio sveikojo skaičiaus. |
LCM | Grąžina mažiausiai paplitusį kartotinį. |
LN | Grąžina natūralų skaičiaus logaritmą. |
ŽURNALAS | Grąžina skaičiaus logaritmą į nurodytą bazę. |
LOG10 | Grąžina skaičiaus logaritmą 10 bazės. |
MROUND | Apvalina skaičių iki nurodyto kartotinio. |
ODD | Suapvalina iki artimiausio nelyginio sveikojo skaičiaus. |
PI | PI vertė. |
GALIA | Skaičiuoja skaičių, padidintą iki galios. |
PRODUKTAS | Padaugina skaičių masyvą. |
QUOTIENT | Grąžina sveiką padalijimo rezultatą. |
RADIANAI | Paverčia kampą radianais. |
RANDBETWEEN | Apskaičiuoja atsitiktinį skaičių tarp dviejų skaičių. |
RAUNAS | Apvalina skaičių iki nurodyto skaitmenų skaičiaus. |
APVALINANT | Suapvalina skaičių žemyn (link nulio). |
APAKALAS | Apvalina skaičių aukštyn (toli nuo nulio). |
SIN | Grąžina kampo sinusą. |
POSUMA | Grąžina duomenų serijos suvestinę statistiką. |
SUMA | Sudeda skaičius kartu. |
SUMIF | Susumuoja skaičius, atitinkančius kriterijus. |
SUMIFS | Susumuoja skaičius, atitinkančius kelis kriterijus. |
SUMPRODUCT | Padaugina skaičių masyvus ir susumuoja gautą masyvą. |
TAN | Grąžina kampo liestinę. |
Statistika | |
VIDUTINĖ | Vidutinis skaičius. |
VIDUTINIS | Vidutinis skaičius, atitinkantis kriterijus. |
VIDUTINIAI | Vidutinis skaičius, atitinkantis kelis kriterijus. |
CORREL | Skaičiuoja dviejų serijų koreliaciją. |
COUNT | Skaičiuoja ląsteles, kuriose yra skaičius. |
COUNTA | Suskaičiuokite tuščias ląsteles. |
SĄSKAITA | Skaičiuoja tuščias ląsteles. |
COUNTIF | Skaičiuoja kriterijus atitinkančias ląsteles. |
COUNTIFS | Skaičiuoja langelius, kurie atitinka kelis kriterijus. |
PROGNOZĖ | Numatykite būsimas y reikšmes pagal linijinę tendencijų liniją. |
DAŽNUMAS | Skaičiuojamos vertės, patenkančios į nurodytus intervalus. |
AUGIMAS | Apskaičiuoja Y reikšmes pagal eksponentinį augimą. |
INTERCEPT | Apskaičiuoja Y pjūvį, kuris geriausiai tinka. |
DIDELIS | Grąžina k didžiausią reikšmę. |
LINIŠKIAUSIA | Pateikia tendencijų linijos statistiką. |
MAX | Grąžina didžiausią skaičių. |
MEDIANAS | Grąžina vidutinį skaičių. |
MIN | Grąžina mažiausią skaičių. |
MODE | Pateikia dažniausiai naudojamą skaičių. |
PROCENTILI | Grąžina k -ąjį procentilį. |
PERCENTILE.INC | Grąžina k -ąjį procentilį. Kur k yra imtinai. |
PERCENTILE.EXC | Grąžina k -ąjį procentilį. Kur k yra išskirtinis. |
KETVIRTIS | Grąžina nurodytą kvartilio reikšmę. |
QUARTILE.INC | Grąžina nurodytą kvartilio reikšmę. Įskaitant. |
QUARTILE.EXC | Grąžina nurodytą kvartilio reikšmę. Išskirtinis. |
RANKAS | Skaičiaus reitingas serijoje. |
RANK.AVG | Skaičiaus reitingas serijoje. Vidutiniai. |
RANK.EQ | Skaičiaus reitingas serijoje. Aukščiausias reitingas. |
SLOPE | Apskaičiuoja nuolydį pagal tiesinę regresiją. |
MAŽAS | Grąžina k -ąją mažiausią reikšmę. |
STDEV | Apskaičiuoja standartinį nuokrypį. |
STDEV.P | Skaičiuoja visos populiacijos SD. |
STDEV.S | Skaičiuoja mėginio SD. |
STDEVP | Skaičiuoja visos populiacijos SD |
TENDENCIJA | Apskaičiuoja Y reikšmes pagal tendencijų liniją. |
Tekstas | |
ŠVARUS | Pašalina visus nespausdinamus simbolius. |
DOLLARAS | Konvertuoja skaičių į tekstą valiutos formatu. |
RASTI | Suranda teksto padėtį ląstelėje. Jautri mažosioms ir mažosioms raidėms. |
Kairė | Sutrumpina teksto skaičių simbolių iš kairės. |
LEN | Skaičiuoja teksto simbolių skaičių. |
MID | Ištraukia tekstą iš langelio vidurio. |
TINKAMAS | Konvertuoja tekstą į tinkamas raides. |
PAKEISTI | Pakeičia tekstą pagal jo vietą. |
REPT | Tekstas kartojamas kelis kartus. |
TEISINGAI | Sutrumpina teksto skaičių simbolių iš dešinės. |
PAIEŠKA | Suranda teksto vietą ląstelėje. Neskiria didžiosios ir mažosios raidės. |
PAKAITA | Suranda ir pakeičia tekstą. Skiriamos didžiosios ir mažosios raidės. |
TEKSTAS | Konvertuoja vertę į tekstą tam tikru formatu. |
APKARPYTI | Pašalina visas papildomas vietas iš teksto. |