Darblapas funkciju izmantošana makro - VBA koda piemēri

Funkcijas VBA var izmantot daudzos veidos. VBA ir aprīkots ar daudzām iebūvētām funkcijām. Jūs pat varat izveidot savas funkcijas (UDF). Tomēr, izmantojot lietojumprogrammu Application.WorksheetFunction, varat arī izmantot daudzas Excel funkcijas VBA.

Kā izmantot darblapas funkcijas VBA

Lai piekļūtu Excel funkcijai VBA, pievienojiet lietojumprogrammu Application.WorksheetFunction funkcijas priekšā, kuru vēlaties izsaukt. Zemāk redzamajā piemērā mēs izsauksim Excel maksimālo funkciju:

12 Maksimāli aptumšot maksimālo vērtībumaxvalue = Application.WorksheetFunction.Max (Diapazons ("a1"). Vērtība, diapazons ("a2"). Vērtība)

Funkciju sintakse ir vienāda, taču jūs ievadīsit funkciju argumentus tāpat kā jebkuru citu VBA funkciju.

Ievērojiet, ka rakstot tiek parādīta funkcijas Max sintakse (līdzīgi kā ar VBA funkcijām):

DarblapaFunkcijas metode

WorksheetFunction ir lietojumprogrammas objekta metode. Tas ļauj piekļūt daudzām (ne visām) standarta Excel darblapas funkcijām. Parasti jūs nevarēsit piekļūt darblapas funkcijām, kurām ir atbilstoša VBA versija.

Tālāk varat redzēt daudzu visbiežāk lietoto darblapu funkciju sarakstu.

Application.WorksheetFunction vs Application

Faktiski ir divi veidi, kā piekļūt šīm funkcijām:

Application.WorksheetFunction (kā redzams iepriekš):

1 maxvalue = Application.WorksheetFunction.Max (Diapazons ("a1"). Vērtība, diapazons ("a2"). Vērtība)

vai arī varat izlaist darblapas funkciju

1 maxvalue = Application.Max (Diapazons ("a1"). Vērtība, diapazons ("a2"). Vērtība)

Diemžēl izlaižot darblapas funkciju, tiks novērsta Intellisense, kas parāda sintaksi (skatiet attēlu iepriekš). Tomēr tam ir viena liela potenciāla priekšrocība: Kļūdu apstrāde.

Ja izmantojat lietojumprogrammu un jūsu funkcija rada kļūdu, tā atgriež kļūdas vērtību. Ja izmantojat WorksheetFunction metodi, VBA parādīs izpildes laika kļūdu. Protams, jūs varat rīkoties ar VBA kļūdu, bet parasti labāk ir izvairīties no kļūdas.

Apskatīsim piemēru, lai redzētu atšķirību:

Vlookup darblapaFunkciju kļūdu apstrāde

Mēs centīsimies veikt Vlookup, kura rezultāts nebūs. Tātad funkcija Vlookup atgriezīs kļūdu.

Pirmkārt, mēs izmantosim WorksheetFunction metodi. Ievērojiet, kā VBA izdara kļūdu:

Tālāk mēs izlaižam darblapas funkciju. Ievērojiet, kā

Tālāk mēs izlaidīsim darblapas funkciju. Ievērojiet, kā netiek izmesta kļūda, un tā vietā funkcija “vērtība” satur kļūdas vērtību no Vlookup.

VBA darblapas funkciju saraksts

Zemāk jūs atradīsit lielāko daļu izplatīto VBA darblapas funkciju sarakstu.

FunkcijaApraksts
Loģiski
UNPārbauda, ​​vai ir izpildīti visi nosacījumi. PATIESA/nepatiesa
IFJa nosacījums ir izpildīts, dariet kaut ko, ja nē, dariet kaut ko citu.
IFERRORJa rezultāts ir kļūda, dariet kaut ko citu.
VAIPārbauda, ​​vai ir izpildīti kādi nosacījumi. PATIESA/nepatiesa
Uzmeklēšana un atsauce
IZVĒLIESIzvēlas vērtību no saraksta, pamatojoties uz tā pozīcijas numuru.
MEKLĒŠANAAtrodiet vērtību pirmajā rindā un atgrieziet vērtību.
INDEKSSAtgriež vērtību, pamatojoties uz tās kolonnu un rindu numuriem.
MEKLĒTMeklē vērtības horizontāli vai vertikāli.
MATCHMeklē vērtību sarakstā un atgriež tā pozīciju.
TRANSPOSEPagriež šūnu diapazona orientāciju.
MEKLĒŠANAAtrodiet vērtību pirmajā slejā un atgrieziet vērtību.
Datums Laiks
DATUMSAtgriež datumu no gada, mēneša un dienas.
DATEVALUEPārvērš datumu, kas saglabāts kā teksts, par derīgu datumu
DIENAAtgriež dienu kā skaitli (1-31).
360. DIENASAtgriež dienas starp diviem datumiem 360 dienu gadā.
EDATEAtgriež datumu, kas ir n mēnešu attālumā no sākuma datuma.
MĒNESISAtgriež mēneša pēdējo dienu, n mēnešu datumu.
STUNDAAtgriež stundu kā skaitli (0–23).
MINUTEAtgriež minūti kā skaitli (0–59).
MĒNESISAtgriež mēnesi kā skaitli (1-12).
TĪKLDIENASDarba dienu skaits starp 2 datumiem.
NETWORKDAYS.INTLDarba dienas starp 2 datumiem, pielāgotas nedēļas nogales.
TAGADAtgriež pašreizējo datumu un laiku.
OTRAISAtgriež otro kā skaitli (0–59)
LAIKSAtgriež laiku no stundas, minūtes un sekundes.
TIMEVALUEPārvērš par tekstu saglabāto laiku derīgā laikā.
NEDĒĻAS DIENAAtgriež nedēļas dienu kā skaitli (1-7).
WEEKNUMAtgriež nedēļas numuru gadā (1-52).
DARBA DIENADatums n darba dienas no datuma.
GADSAtgriež gadu.
GADSAtgriež gada daļu starp diviem datumiem.
Inženierzinātnes
KONVERTĒTKonvertēt skaitli no vienas vienības uz citu.
Finanšu
FVAprēķina nākotnes vērtību.
PVAprēķina pašreizējo vērtību.
NPERAprēķina kopējo maksājumu periodu skaitu.
PMTAprēķina maksājuma summu.
RATEAprēķina procentu likmi.
NPVAprēķina pašreizējo neto vērtību.
IRRPeriodisku CF kopu iekšējā peļņas norma.
XIRRNeperiodisku CF kopumu iekšējā peļņas norma.
CENAAprēķina obligācijas cenu.
IEVADĪTPilnībā ieguldīta vērtspapīra procentu likme.
Informācija
ISERRPārbaudiet, vai šūnas vērtība ir kļūda, ignorējot #N/A. PATIESA/nepatiesa
ISERRORPārbaudiet, vai šūnas vērtība ir kļūda. PATIESA/nepatiesa
ISEVENPārbaudiet, vai šūnas vērtība ir vienmērīga. PATIESA/nepatiesa
ISLOĢISKIPārbaudiet, vai šūna ir loģiska (TRUE vai FALSE). PATIESA/nepatiesa
ISNAPārbaudiet, vai šūnas vērtība ir #N/A. PATIESA/nepatiesa
ISNONTEXTPārbaudiet, vai šūna nav teksts (tukšas šūnas nav teksts). PATIESA/nepatiesa
SKAITSPārbaudiet, vai šūna ir skaitlis. PATIESA/nepatiesa
ISODDPārbaudiet, vai šūnas vērtība ir nepāra. PATIESA/nepatiesa
ISTEXTPārbaudiet, vai šūna ir teksts. PATIESA/nepatiesa
TYPEAtgriež vērtības veidu šūnā.
Matemātika
ABSAprēķina skaitļa absolūto vērtību.
APLIKTDefinējiet un veiciet aprēķinus datubāzei vai sarakstam.
GriestiNoapaļo skaitli uz augšu līdz tuvākajam norādītajam vairākkārtējam.
COSAtgriež leņķa kosinusu.
GRĀDIPārvērš radiānus par grādiem.
DSUMSummē datu bāzes ierakstus, kas atbilst noteiktiem kritērijiem.
PATNoapaļo līdz tuvākajam pat veselam skaitlim.
EXPAprēķina dotā skaitļa eksponenciālo vērtību.
FAKTSAtgriež faktoriālu.
GRĪDANoapaļo skaitli uz leju līdz tuvākajam norādītajam vairākkārtējam.
GCDAtgriež lielāko kopīgo dalītāju.
INTNoapaļo skaitli uz leju līdz tuvākajam veselam skaitlim.
LCMAtgriež retāk izplatīto daudzkārtni.
LNAtgriež skaitļa dabisko logaritmu.
ŽURNĀLSAtgriež skaitļa logaritmu uz noteiktu bāzi.
LOG10Atgriež skaitļa 10 logaritmu.
MROUNDNoapaļo skaitli līdz noteiktam daudzkārtnim.
ODDNoapaļo līdz tuvākajam nepāra skaitlim.
PIPI vērtība.
POWERAprēķina skaitli, kas palielināts līdz pakāpei.
PRODUKTSReizina skaitļu masīvu.
QUOTIENTAtgriež dalīšanas veselu skaitli.
RADIĀNIPārvērš leņķi radiānos.
RANDBETWEENAprēķina nejaušu skaitli starp diviem skaitļiem.
RAUNDSNoapaļo skaitli līdz noteiktam ciparu skaitam.
APAKŠINoapaļo skaitli uz leju (uz nulli).
NOAPAĻOT UZ AUGŠUNoapaļo skaitli uz augšu (prom no nulles).
GRĒKSAtgriež leņķa sinusu.
StarpsummaAtgriež datu sērijas kopsavilkuma statistiku.
SUMPievieno skaitļus kopā.
SUMIFSummē skaitļus, kas atbilst kritērijiem.
SUMIFSSummē skaitļus, kas atbilst vairākiem kritērijiem.
SUMPRODUCTReizina skaitļu masīvus un summē iegūto masīvu.
TANAtgriež leņķa tangenci.
Statistika
VIDĒJĀVidējie skaitļi.
AVERAGEIFVidēji skaitļi, kas atbilst kritērijiem.
VIDĒJIVidēji skaitļi, kas atbilst vairākiem kritērijiem.
CORRELAprēķina divu sēriju korelāciju.
COUNTSkaita šūnas, kurās ir skaitlis.
COUNTASaskaitiet šūnas, kas nav tukšas.
COUNTBLANKSkaita tukšas šūnas.
COUNTIFSkaita šūnas, kas atbilst kritērijiem.
COUNTIFSSkaita šūnas, kas atbilst vairākiem kritērijiem.
PROGNOZEPrognozējiet nākotnes y vērtības no lineārās tendences līnijas.
BIEŽUMSSkaita vērtības, kas ietilpst noteiktos diapazonos.
IZAUGSMEAprēķina Y vērtības, pamatojoties uz eksponenciālu pieaugumu.
INTERCEPTAprēķina Y šķērsgriezumu vispiemērotākajai līnijai.
LIELSAtgriež k -to lielāko vērtību.
LINESTAtgriež statistiku par tendenču līniju.
MAKSAtgriež lielāko skaitli.
MEDIANAtgriež vidējo skaitli.
MINAtgriež mazāko skaitli.
REŽĪMSAtgriež visizplatītāko skaitli.
PROCENTILSAtgriež k. Procentili.
PERCENTILE.INCAtgriež k. Procentili. Kur k ir iekļaujošs.
PERCENTILE.EXCAtgriež k. Procentili. Kur k ir ekskluzīvs.
QUARTILEAtgriež norādīto kvartiles vērtību.
QUARTILE.INCAtgriež norādīto kvartili. Ieskaitot.
QUARTILE.EXCAtgriež norādīto kvartili. Ekskluzīvi.
RANKSērijas rangs sērijā.
RANK.AVGSērijas rangs sērijā. Vidējie rādītāji.
RANK.EQSērijas rangs sērijā. Augstākais rangs.
SLĪPEAprēķina slīpumu no lineārās regresijas.
MAZSAtgriež mazāko k -to vērtību.
STDEVAprēķina standarta novirzi.
STDEV.PAprēķina visas populācijas SD.
STDEV.SAprēķina parauga SD.
STDEVPAprēķina visas populācijas SD
TENDENCEAprēķina Y vērtības, pamatojoties uz tendenču līniju.
Teksts
TĪRSNoņem visas nedrukājamās rakstzīmes.
DOLLARSPārvērš skaitli par tekstu valūtas formātā.
ATRASTAtrod teksta atrašanās vietu šūnā. Ievērojami reģistri.
KREISISSaīsina tekstu vairākas rakstzīmes no kreisās puses.
LENSaskaita rakstzīmju skaitu tekstā.
MIDIzņem tekstu no šūnas vidus.
PAREIZAPārvērš tekstu pareizajos burtos.
AIZVIETOTAizstāj tekstu, pamatojoties uz tā atrašanās vietu.
REPTAtkārto tekstu vairākas reizes.
TAISNĪBASaīsina tekstu vairākas rakstzīmes no labās puses.
MEKLĒTAtrod teksta atrašanās vietu šūnā. Nav reģistrjutīgs.
NOMAITAAtrod un aizstāj tekstu. Reģistrjutīga.
TEKSTSPārvērš vērtību tekstā ar noteiktu skaitļu formātu.
TRIMNoņem visas papildu atstarpes no teksta.
wave wave wave wave wave