Naudokite darbalapio funkcijas makrokomandoje - VBA kodo pavyzdžiai

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šą.

Funkcijaapibūdinimas
Logiška
IRTikrina, ar įvykdytos visos sąlygos. TIESA/NETIESA
JEIJei sąlyga įvykdyta, darykite ką nors, jei ne, darykite ką nors kita.
IFERRORJei rezultatas yra klaida, darykite ką nors kita.
ARBATikrina, ar tenkinamos kokios nors sąlygos. TIESA/NETIESA
Paieška ir nuoroda
PASIRINKITEIš sąrašo pasirenka vertę pagal jo pozicijos numerį.
PERŽIŪRĖTISuraskite vertę pirmoje eilutėje ir grąžinkite vertę.
INDEKSASPateikia vertę pagal jos stulpelių ir eilučių numerius.
ŽIŪRĖTIIeškoma vertybių horizontaliai arba vertikaliai.
RungtynėsIeško vertės sąraše ir grąžina jo poziciją.
PERDAVIMASPasuka langelių diapazono orientaciją.
VLOOKUPPirmajame stulpelyje raskite vertę ir grąžinkite vertę.
Data ir laikas
DATAPateikia datą iš metų, mėnesio ir dienos.
DATEVALUEKonvertuoja datą, saugomą kaip tekstą, į galiojančią datą
DIENAGrąžina dieną kaip skaičių (1-31).
360 DIENOSPateikiamos dienos tarp dviejų datų per 360 dienų metus.
EDATEPateikia datą, n mėnesių nuo pradžios datos.
EOMONTHPateikia paskutinę mėnesio dieną, n mėnesio datą.
VALANDAPateikia valandą kaip skaičių (0–23).
MINUTĖGrąžina minutę kaip skaičių (0–59).
MĖNESISGrąžina mėnesį kaip skaičių (1–12).
TINKLO DIENOSDarbo dienų skaičius tarp 2 datų.
NETWORKDAYS.INTLDarbo dienos tarp 2 datų, nestandartiniai savaitgaliai.
DABARPateikia dabartinę datą ir laiką.
ANTRASGrąžina antrąjį kaip skaičių (0–59)
LAIKASGrąžina laiką nuo valandos, minutės ir sekundės.
TIMEVALUELaikas, išsaugotas kaip tekstas, paverčiamas tinkamu laiku.
SAVAITGALISPateikia savaitės dieną kaip skaičių (1–7).
WEEKNUMGrąžina savaitės skaičių per metus (1-52).
DARBO DIENAData n darbo dienų nuo datos.
YEARGrąžina metus.
METAIGrąžina metų dalį tarp 2 datų.
Inžinerija
PAVERSTIKonvertuokite skaičių iš vieno vieneto į kitą.
Finansinė
FVSkaičiuoja būsimą vertę.
PVSkaičiuoja dabartinę vertę.
NPERSkaičiuoja bendrą mokėjimo laikotarpių skaičių.
PMTSkaičiuoja mokėjimo sumą.
ĮVERTINIMASSkaičiuoja palūkanų normą.
NPVSkaičiuoja grynąją dabartinę vertę.
IRRPeriodinių CF rinkinių vidinė grąžos norma.
XIRRNeperiodinių CF rinkinių vidinė grąžos norma.
KAINASkaičiuoja obligacijos kainą.
INTRATEVisiškai investuoto vertybinio popieriaus palūkanų norma.
Informacija
ISERRPatikrinkite, ar langelio vertė yra klaida, nepaisoma #N/A. TIESA/NETIESA
ISERRORPatikrinkite, ar langelio vertė yra klaida. TIESA/NETIESA
ISEVENPatikrinkite, ar langelio vertė yra lygi. TIESA/NETIESA
ISLOGINISPatikrinkite, ar langelis logiškas (TIESA ar NETIESA). TIESA/NETIESA
ISNAPatikrinkite, ar langelio vertė yra #N/A. TIESA/NETIESA
ISNONTEXTPatikrinkite, ar langelis nėra tekstas (tušti langeliai nėra tekstas). TIESA/NETIESA
ISNUMBERPatikrinkite, ar langelis yra skaičius. TIESA/NETIESA
ISODDPatikrinkite, ar langelio vertė yra nelyginė. TIESA/NETIESA
ISTEXTPatikrinkite, ar langelis yra tekstas. TIESA/NETIESA
TYPEGrąžina langelio vertės tipą.
Matematika
ABSSkaičiuoja absoliučią skaičiaus vertę.
SUDARYTINustatykite ir atlikite duomenų bazės ar sąrašo skaičiavimus.
LUBOSApvalina skaičių aukštyn iki artimiausio nurodyto kartotinio.
COSGrąžina kampo kosinusą.
LAIPTAIRadianus paverčia laipsniais.
DSUMSumų duomenų bazės įrašai, atitinkantys tam tikrus kriterijus.
NET netSuapvalina iki artimiausio lyginio sveikojo skaičiaus.
Tinka ikiSkaičiuoja nurodyto skaičiaus eksponentinę vertę.
FAKTASGrąžina faktorių.
GRINDYSSuapvalina skaičių žemyn iki artimiausio nurodyto kartotinio.
GCDGrąžina didžiausią bendrąjį daliklį.
INTApvalina skaičių žemyn iki artimiausio sveikojo skaičiaus.
LCMGrąžina mažiausiai paplitusį kartotinį.
LNGrąžina natūralų skaičiaus logaritmą.
ŽURNALASGrąžina skaičiaus logaritmą į nurodytą bazę.
LOG10Grąžina skaičiaus logaritmą 10 bazės.
MROUNDApvalina skaičių iki nurodyto kartotinio.
ODDSuapvalina iki artimiausio nelyginio sveikojo skaičiaus.
PIPI vertė.
GALIASkaičiuoja skaičių, padidintą iki galios.
PRODUKTASPadaugina skaičių masyvą.
QUOTIENTGrąžina sveiką padalijimo rezultatą.
RADIANAIPaverčia kampą radianais.
RANDBETWEENApskaičiuoja atsitiktinį skaičių tarp dviejų skaičių.
RAUNASApvalina skaičių iki nurodyto skaitmenų skaičiaus.
APVALINANTSuapvalina skaičių žemyn (link nulio).
APAKALASApvalina skaičių aukštyn (toli nuo nulio).
SINGrąžina kampo sinusą.
POSUMAGrąžina duomenų serijos suvestinę statistiką.
SUMASudeda skaičius kartu.
SUMIFSusumuoja skaičius, atitinkančius kriterijus.
SUMIFSSusumuoja skaičius, atitinkančius kelis kriterijus.
SUMPRODUCTPadaugina skaičių masyvus ir susumuoja gautą masyvą.
TANGrąžina kampo liestinę.
Statistika
VIDUTINĖVidutinis skaičius.
VIDUTINISVidutinis skaičius, atitinkantis kriterijus.
VIDUTINIAIVidutinis skaičius, atitinkantis kelis kriterijus.
CORRELSkaičiuoja dviejų serijų koreliaciją.
COUNTSkaičiuoja ląsteles, kuriose yra skaičius.
COUNTASuskaičiuokite tuščias ląsteles.
SĄSKAITASkaičiuoja tuščias ląsteles.
COUNTIFSkaičiuoja kriterijus atitinkančias ląsteles.
COUNTIFSSkaičiuoja langelius, kurie atitinka kelis kriterijus.
PROGNOZĖNumatykite būsimas y reikšmes pagal linijinę tendencijų liniją.
DAŽNUMASSkaičiuojamos vertės, patenkančios į nurodytus intervalus.
AUGIMASApskaičiuoja Y reikšmes pagal eksponentinį augimą.
INTERCEPTApskaičiuoja Y pjūvį, kuris geriausiai tinka.
DIDELISGrąžina k didžiausią reikšmę.
LINIŠKIAUSIAPateikia tendencijų linijos statistiką.
MAXGrąžina didžiausią skaičių.
MEDIANASGrąžina vidutinį skaičių.
MINGrąžina mažiausią skaičių.
MODEPateikia dažniausiai naudojamą skaičių.
PROCENTILIGrąžina k -ąjį procentilį.
PERCENTILE.INCGrąžina k -ąjį procentilį. Kur k yra imtinai.
PERCENTILE.EXCGrąžina k -ąjį procentilį. Kur k yra išskirtinis.
KETVIRTISGrąžina nurodytą kvartilio reikšmę.
QUARTILE.INCGrąžina nurodytą kvartilio reikšmę. Įskaitant.
QUARTILE.EXCGrąžina nurodytą kvartilio reikšmę. Išskirtinis.
RANKASSkaičiaus reitingas serijoje.
RANK.AVGSkaičiaus reitingas serijoje. Vidutiniai.
RANK.EQSkaičiaus reitingas serijoje. Aukščiausias reitingas.
SLOPEApskaičiuoja nuolydį pagal tiesinę regresiją.
MAŽASGrąžina k -ąją mažiausią reikšmę.
STDEVApskaičiuoja standartinį nuokrypį.
STDEV.PSkaičiuoja visos populiacijos SD.
STDEV.SSkaičiuoja mėginio SD.
STDEVPSkaičiuoja visos populiacijos SD
TENDENCIJAApskaičiuoja Y reikšmes pagal tendencijų liniją.
Tekstas
ŠVARUSPašalina visus nespausdinamus simbolius.
DOLLARASKonvertuoja skaičių į tekstą valiutos formatu.
RASTISuranda teksto padėtį ląstelėje. Jautri mažosioms ir mažosioms raidėms.
KairėSutrumpina teksto skaičių simbolių iš kairės.
LENSkaičiuoja teksto simbolių skaičių.
MIDIštraukia tekstą iš langelio vidurio.
TINKAMASKonvertuoja tekstą į tinkamas raides.
PAKEISTIPakeičia tekstą pagal jo vietą.
REPTTekstas kartojamas kelis kartus.
TEISINGAISutrumpina teksto skaičių simbolių iš dešinės.
PAIEŠKASuranda teksto vietą ląstelėje. Neskiria didžiosios ir mažosios raidės.
PAKAITASuranda ir pakeičia tekstą. Skiriamos didžiosios ir mažosios raidės.
TEKSTASKonvertuoja vertę į tekstą tam tikru formatu.
APKARPYTIPašalina visas papildomas vietas iš teksto.
wave wave wave wave wave