Töölehe funktsioonide kasutamine makros - VBA koodi näited

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.

FunktsioonKirjeldus
Loogiline
JAKontrollib, kas kõik tingimused on täidetud. ÕIGE VALE
KUIKui tingimus on täidetud, tehke midagi, kui ei, siis tehke midagi muud.
IFERRORKui tulemus on viga, tehke midagi muud.
VÕIKontrollib, kas mõni tingimus on täidetud. ÕIGE VALE
Otsing ja viide
VALIValib loendist väärtuse selle positsiooni numbri alusel.
HLOOKUPOtsige väärtus esimeselt realt ja tagastage väärtus.
INDEXTagastab väärtuse selle veeru- ja reanumbrite põhjal.
VAATA ÜLESOtsib väärtusi kas horisontaalselt või vertikaalselt.
MATCHOtsib loendist väärtust ja tagastab selle asukoha.
TRANSPOSEERIMINEPöörab lahtrite vahemiku orientatsiooni.
VLOOKUPOtsige esimesest veerust väärtus ja tagastage väärtus.
Kuupäev Kellaaeg
DATETagastab kuupäeva aastast, kuust ja päevast.
DATEVALUETeisendab tekstina salvestatud kuupäeva kehtivaks kuupäevaks
PÄEVTagastab päeva numbrina (1-31).
PÄEVAD360Tagastab päevad kahe kuupäeva vahel 360 -päevase aasta jooksul.
EDATETagastab alguskuupäevast n kuu kaugusel oleva kuupäeva.
EOMONTHTagastab kuu viimase päeva, n -kuulise kuupäeva.
TUNDTagastab tunni arvuna (0–23).
MINUTTagastab minuti arvuna (0–59).
KUUTagastab kuu numbrina (1–12).
VÕRGUPÄEVADTööpäevade arv kahe kuupäeva vahel.
NETWORKDAYS.INTLTööpäevad kahe kuupäeva vahel, kohandatud nädalavahetused.
KOHETagastab praeguse kuupäeva ja kellaaja.
TEINETagastab teise arvuna (0–59)
AEGTagastab aja tunnist, minutist ja sekundist.
TIMEVALUETeisendab tekstina salvestatud aja kehtivaks ajaks.
NÄDALAPÄEVTagastab nädalapäeva numbrina (1–7).
WEEKNUMTagastab nädala arvu aastas (1–52).
TÖÖPÄEVKuupäev n tööpäeva alates kuupäevast.
AASTATagastab aasta.
AASTAARUANNETagastab aasta murdosa kahe kuupäeva vahel.
Inseneriteadus
CONVERTTeisendage number ühest ühikust teise.
Finants
FVArvutab tulevase väärtuse.
PVArvutab praeguse väärtuse.
NPERArvutab makseperioodide koguarvu.
PMTArvutab maksesumma.
HINDArvutab intressimäära.
NPVArvutab praeguse netoväärtuse.
IRRPerioodiliste CF -de sisemine tootlus.
XIRRMitteperioodiliste CF-de sisemine tootlus.
HINDArvutab võlakirja hinna.
INTRATETäielikult investeeritud väärtpaberi intressimäär.
Teave
ISERRTestige, kas lahtri väärtus on viga, ignoreerib #N/A. ÕIGE VALE
ISERRORKontrollige, kas lahtri väärtus on viga. ÕIGE VALE
ISEVENKontrollige, kas lahtri väärtus on paaris. ÕIGE VALE
ISLOOGILINEKontrollige, kas lahter on loogiline (TRUE või FALSE). ÕIGE VALE
ISNAKontrollige, kas lahtri väärtus on #N/A. ÕIGE VALE
ISNONTEXTKontrollige, kas lahter pole tekst (tühjad lahtrid ei ole tekst). ÕIGE VALE
ISNUMBERKontrollige, kas lahter on arv. ÕIGE VALE
ISODDKontrollige, kas lahtri väärtus on paaritu. ÕIGE VALE
ISTEXTKontrollige, kas lahter on tekst. ÕIGE VALE
TÜÜPTagastab lahtris oleva väärtuse tüübi.
Matemaatika
ABSArvutab arvu absoluutväärtuse.
ÜHENDADAMääratlege ja tehke arvutused andmebaasi või loendi jaoks.
LAEÜmardab numbri ülespoole lähima määratud mitmikuni.
COSTagastab nurga koosinuse.
KRAADIDTeisendab radiaanid kraadideks.
DSUMSummeerib andmebaasi kirjeid, mis vastavad teatud kriteeriumidele.
IsegiÜmardab paarisarvuni lähima täisarvuni.
EXPArvutab antud arvu eksponentsiaalse väärtuse.
FAKTTagastab faktoriaali.
PÕRANDÜmardab numbri allapoole lähima määratud mitmekordseks.
GCDTagastab suurima ühise jagaja.
INTÜmardab arvu allapoole lähima täisarvuni.
LCMTagastab kõige vähem levinud kordaja.
LNTagastab arvu loomuliku logaritmi.
PALKTagastab arvu logaritmi määratud alusele.
LOG10Annab vastuseks arvu 10 logaritmi.
MROUNDÜmardab arvu määratud mitmekordseks.
KUMMALINEÜmardab lähima paaritu täisarvuni.
PIPI väärtus.
VÕIMArvutab astmeks tõstetud arvu.
TOOTEKorrutab arvude massiivi.
QUOTIENTTagastab jagamise täisarvu.
RAADIANIDTeisendab nurga radiaanideks.
RANDBETWEENArvutab 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).
PATTTagastab nurga siinuse.
VAHESUMMATagastab andmesarja kokkuvõtliku statistika.
SUMLiidab numbrid kokku.
SUMIFSummeerib kriteeriumidele vastavad numbrid.
SUMIFSSummeerib arvud, mis vastavad mitmele kriteeriumile.
SUMPRODUCTKorrutab numbrimassiive ja summeerib saadud massiivi.
TANTagastab nurga puutuja.
Statistika
KESKMINEKeskmised numbrid.
KESKMINEKeskmised kriteeriumidele vastavad numbrid.
KESKMINEKeskmine arv, mis vastab mitmele kriteeriumile.
KORRELArvutab kahe seeria korrelatsiooni.
COUNTLoendab lahtreid, mis sisaldavad arvu.
COUNTALoendage lahtrid, mis pole tühjad.
LOENDUSTÜKKLoendab tühjad lahtrid.
COUNTIFLoendab kriteeriumidele vastavaid lahtreid.
COUNTIFSLoendab lahtreid, mis vastavad mitmele kriteeriumile.
PROGNOOSEnnusta tulevasi y-väärtusi lineaarse trendijoone põhjal.
SagedusLoendab väärtusi, mis jäävad kindlaksmääratud vahemikku.
KASVUArvutab Y väärtused eksponentsiaalse kasvu põhjal.
INTERCEPTArvutab Y-lõikepunkti kõige sobivama joone jaoks.
SUURTagastab k -nda suurima väärtuse.
LINESTTagastab trendijoone statistika.
MAXTagastab suurima arvu.
MEEDIATagastab keskmise arvu.
MINTagastab väikseima arvu.
MODETagastab kõige tavalisema numbri.
PERCENTILETagastab k -nda protsentiili.
PERCENTILE.INCTagastab k -nda protsentiili. Kus k on kaasav.
PERCENTILE.EXCTagastab k -nda protsentiili. Kus k on eksklusiivne.
KvartalTagastab määratud kvartiili väärtuse.
QUARTILE.INCTagastab määratud kvartiili väärtuse. Kaasav.
QUARTILE.EXCTagastab määratud kvartiili väärtuse. Eksklusiivne.
KOHTNumbri järjestus seerias.
RANK.AVGNumbri järjestus seerias. Keskmised.
RANK.EQNumbri järjestus seerias. Esikoht.
KALLEArvutab kalde lineaarse regressiooni põhjal.
VÄIKETagastab k -nda väikseima väärtuse.
STDEVArvutab standardhälbe.
STDEV.PArvutab kogu populatsiooni SD.
STDEV.SArvutab proovi SD.
STDEVPArvutab kogu populatsiooni SD
TRENDArvutab Y väärtused trendijoone põhjal.
Tekst
CLEANEemaldab kõik prinditavad märgid.
DOLLARTeisendab numbri valuuta vormingus tekstiks.
LEIAOtsib teksti positsiooni lahtris. Väiketähtede tundlik.
VASAKKärbib teksti vasakult mitu tähemärki.
LENLoendab tekstis olevate märkide arvu.
MIDVäljavõte lahtri keskelt.
ÕIGETeisendab teksti õigeks.
VAHETAAsendab teksti selle asukoha alusel.
REPTKordab teksti mitu korda.
ÕIGEKärbib teksti paremalt poolt mitu tähemärki.
OTSINGOtsib teksti asukoha lahtris. Ei ole tõstutundlik.
ASENDUSOtsib ja asendab teksti. Kirja tõstutundlik.
TEKSTTeisendab väärtuse konkreetse numbrivorminguga tekstiks.
TRIMEemaldab tekstist kõik tühikud.
wave wave wave wave wave