Munkalap funkciók használata makróban - VBA kódpéldák

A VBA funkcióinak számos módja használható. A VBA számos beépített funkcióval rendelkezik. Akár saját funkciókat (UDF -eket) is létrehozhat. Azonban az Excel számos funkcióját a VBA -ban is használhatja az Application.WorksheetFunction használatával.

A munkalap funkcióinak használata a VBA -ban

Az Excel funkció eléréséhez a VBA -ban adja hozzá az Application.WorksheetFunction funkciót a meghívni kívánt funkció előtt. Az alábbi példában az Excel Max funkcióját hívjuk:

12 A maximális érték tompítása, amígmaxvalue = Application.WorksheetFunction.Max (Tartomány ("a1"). Érték, tartomány ("a2"). Érték)

A függvények szintaxisa azonos, azonban a függvény argumentumait ugyanúgy kell megadnia, mint bármely más VBA függvényt.

Vegye figyelembe, hogy a Max funkció szintaxisa megjelenik a gépelés során (hasonlóan a VBA funkciókhoz):

MunkalapFunkció módszer

A WorksheetFunction az Application objektum metódusa. Lehetővé teszi számos (nem minden) szabványos Excel munkalap funkció elérését. Általában nem férhet hozzá olyan munkalap -funkciókhoz, amelyek rendelkeznek megfelelő VBA verzióval.

Az alábbiakban megtekintheti a leggyakoribb munkalap -funkciók listáját.

Application.WorksheetFunction vs. Application

Valójában kétféle módon érheti el ezeket a funkciókat:

Application.WorksheetFunction (a fentiek szerint):

1 maxvalue = Application.WorksheetFunction.Max (Tartomány ("a1"). Érték, tartomány ("a2"). Érték)

vagy kihagyhatja a WorksheetFunction funkciót

1 maxvalue = Application.Max (Tartomány ("a1"). Érték, tartomány ("a2"). Érték)

Sajnos a WorksheetFunction kihagyásával megszűnik a szintaxist megjelenítő Intellisense (lásd a fenti képet). Ennek azonban van egy nagy potenciális előnye: Hibakezelés.

Ha az Alkalmazást használja, és a függvény hibát generál, akkor visszaadja a hibaértéket. Ha a WorksheetFunction metódust használja, a VBA futási idő hibát jelez. Természetesen kezelheti a VBA hibát, de általában jobb elkerülni a hibát.

Nézzünk egy példát, hogy lássuk a különbséget:

Vlookup munkalapFunkcióhiba -kezelés

Megpróbálunk olyan Vlookup -ot végrehajtani, amely nem eredményez mérkőzést. Tehát a Vlookup függvény hibát ad vissza.

Először a WorksheetFunction metódust fogjuk használni. Figyelje meg, hogy a VBA hogyan dob hibát:

Ezután kihagyjuk a WorksheetFunction funkciót. Figyelje meg, hogyan

Ezután kihagyjuk a WorksheetFunction funkciót. Figyelje meg, hogy nem dob hibát, és helyette az „érték” függvény tartalmazza a Vlookup hibaértékét.

VBA munkalap funkcióinak listája

Az alábbiakban a leggyakoribb VBA -munkalap -funkciók listáját találja.

FunkcióLeírás
Logikus
ÉSEllenőrzi, hogy minden feltétel teljesül -e. IGAZ HAMIS
HAHa a feltétel teljesül, tegyen valamit, ha nem, akkor mást.
IFERRORHa az eredmény hiba, akkor tegyen mást.
VAGYEllenőrzi, hogy minden feltétel teljesül -e. IGAZ HAMIS
Keresés és referencia
VÁLASZTÉrtéket választ a listából a pozíció száma alapján.
HLOOKUPKeresse meg az értéket az első sorban, és adjon vissza egy értéket.
INDEXAz oszlop- és sorszám alapján értéket ad vissza.
NÉZZ FELVízszintesen vagy függőlegesen keresi az értékeket.
MÉRKŐZÉSÉrtéket keres a listában, és visszaadja annak pozícióját.
TRANSPOSEMegfordítja a cellatartomány tájolását.
VLOOKUPKeresse meg az értéket az első oszlopban, és adjon vissza egy értéket.
Dátum idő
DÁTUMAz év, hónap és nap dátumát adja vissza.
DATEVALUEA szövegként tárolt dátumot érvényes dátummá alakítja
NAPA napot számként adja vissza (1-31).
NAPOK 360Egy 360 napos év két napja közötti napokat ad vissza.
EDATEEgy dátumot ad vissza, n hónappal a kezdő dátumtól távol.
KOMONTHVisszaadja a hónap utolsó napját, n hónap elteltével.
ÓRAAz órát számként adja vissza (0-23).
PERCA percet számként adja vissza (0-59).
HÓNAPA hónapot számként adja vissza (1-12).
HÁLÓZATI NAPOKA munkanapok száma 2 dátum között.
NETWORKDAYS.INTLMunkanapok 2 dátum között, egyedi hétvégék.
MOSTVisszaadja az aktuális dátumot és időt.
MÁSODIKA másodikat számként adja vissza (0-59)
IDŐVisszaadja az órát, percet és másodpercet.
IDŐÉRTÉKA szövegként tárolt időt érvényes idővé alakítja át.
HÉTKÖZNAPVisszaadja a hét napját számként (1-7).
WEEKNUMVisszaadja a hét számát egy évben (1-52).
MUNKANAPA dátum egy munkanaptól számított munkanap.
ÉVVisszaadja az évet.
ÉVFRACAz év töredékét adja vissza 2 dátum között.
Mérnöki
ALAKÍTANISzám átalakítása egyik egységből a másikba.
Pénzügyi
FVKiszámítja a jövőbeli értéket.
PVKiszámítja a jelenértéket.
NPERKiszámítja a fizetési időszakok teljes számát.
PMTKiszámítja a fizetés összegét.
MÉRTÉKKiszámítja a kamatlábat.
NPVKiszámítja a nettó jelenértéket.
IRRAz időszakos CF -ek belső megtérülési rátája.
XIRRA nem periodikus CF-ek belső megtérülési rátája.
ÁRKiszámítja a kötvény árát.
BELÉPÉSA teljesen befektetett értékpapír kamatlába.
Információ
ISERREllenőrizze, hogy a cella értéke hiba -e, figyelmen kívül hagyva a #N/A értéket. IGAZ HAMIS
ISERROREllenőrizze, hogy a cella értéke hiba -e. IGAZ HAMIS
EGYENLŐEllenőrizze, hogy a cella értéke páros -e. IGAZ HAMIS
ISLOGICALEllenőrizze, hogy a cella logikus -e (IGAZ vagy HAMIS). IGAZ HAMIS
ISNAEllenőrizze, hogy a cella értéke #N/A. IGAZ HAMIS
ISNONTEXTEllenőrizze, hogy a cella nem szöveg -e (az üres cellák nem szövegek). IGAZ HAMIS
SZÁMEllenőrizze, hogy a cella szám -e. IGAZ HAMIS
ISODDEllenőrizze, hogy a cella értéke páratlan -e. IGAZ HAMIS
ISTEXTEllenőrizze, hogy a cella szöveg -e. IGAZ HAMIS
TÍPUSVisszaadja a cella értéke típusát.
Math
ABSKiszámítja a szám abszolút értékét.
AGGREGATEAdjon meg és végezzen számításokat adatbázishoz vagy listához.
MENNYEZETEgy számot felfelé kerekít a legközelebbi megadott többszörösre.
KÖTÖZŐSALÁTAEgy szög koszinuszát adja vissza.
FOKOZATOKA radiánokat fokra konvertálja.
DSUMÖsszegzi az adatbázis rekordjait, amelyek megfelelnek bizonyos feltételeknek.
MÉGKerekíti a legközelebbi páros egész számra.
EXPKiszámítja az adott szám exponenciális értékét.
TÉNYVisszaadja a faktoriált.
PADLÓEgy számot lefelé kerekít a legközelebbi megadott többszörösre.
GCDVisszaadja a legnagyobb közös osztót.
INTLekerekít egy számot a legközelebbi egész számra.
LCMA legkevésbé gyakori többszörösét adja vissza.
LNEgy szám természetes logaritmusát adja vissza.
LOGEgy szám logaritmusát adja vissza egy megadott bázishoz.
LOG10Egy szám 10-es logaritmusát adja vissza.
MROUNDKerekít egy számot egy megadott többszörösre.
PÁRATLANA legközelebbi páratlan egész számra kerekíti.
PIA PI értéke.
ERŐKiszámítja a hatványra emelt számot.
TERMÉKMegsokszorozza a számok tömbjét.
HÁNYADOSVisszaadja az osztás egész eredményét.
RADIÁNOKA szöget radiánokká alakítja.
RANDBETWEENVéletlen számot számít két szám között.
KEREKKerekít egy számot egy meghatározott számjegyre.
LEKEREKÍTA számot lefelé kerekíti (nulla felé).
FELHAJTKerekít egy számot felfelé (nullától távol).
BŰNEgy szög szinuszát adja vissza.
RÉSZVÉTELAdat sorozat összegző statisztikáját adja vissza.
ÖSSZEGÖsszeadja a számokat.
SUMIFÖsszegezi a kritériumoknak megfelelő számokat.
SUMIFSTöbb feltételnek megfelelő számokat összegez.
ÖSSZEFOGLALÓMegtöbbszörözi a számtömböket, és összeadja a kapott tömböt.
CSEREgy szög érintőjét adja vissza.
Statisztika
ÁTLAGOSÁtlagos számok.
ÁTLAGOSA kritériumoknak megfelelő számok átlaga.
ÁTLAGOSTöbb feltételnek megfelelő számok átlaga.
CORRELKiszámítja két sorozat korrelációját.
SZÁMOLMegszámolja a számot tartalmazó cellákat.
COUNTASzámolja ki a nem üres cellákat.
COUNTBLANKAz üres cellákat számolja.
COUNTIFSzámolja a kritériumoknak megfelelő cellákat.
COUNTIFSSzámolja a több kritériumnak megfelelő cellákat.
ELŐREJELZÉSA jövőbeli y-értékek előrejelzése a lineáris trendvonalból.
FREKVENCIAA megadott tartományba eső értékeket számolja.
NÖVEKEDÉSAz Y értékeket exponenciális növekedés alapján számítja ki.
INTERCEPTKiszámítja az Y metszést a legjobban illeszkedő egyeneshez.
NAGYA k. Legnagyobb értéket adja vissza.
LINESTEgy trendvonal statisztikai adatait adja vissza.
MAXA legnagyobb számot adja vissza.
KÖZÉPSŐA medián számot adja vissza.
MINA legkisebb számot adja vissza.
MÓDA leggyakoribb számot adja vissza.
SZÁZALÉKOSVisszaadja a k -ik százalékos értéket.
PERCENTILE.INCVisszaadja a k -ik százalékos értéket. Ahol k befogadó.
PERCENTILE.EXCVisszaadja a k -ik százalékos értéket. Ahol k kizárólagos.
QUARTILEA megadott kvartilis értéket adja vissza.
QUARTILE.INCA megadott kvartilis értéket adja vissza. Befogadó.
QUARTILE.EXCA megadott kvartilis értéket adja vissza. Kizárólagos.
RANGEgy szám rangja egy sorozaton belül.
RANK.AVGEgy szám rangja egy sorozaton belül. Átlagok.
RANK.EQEgy szám rangja egy sorozaton belül. Megviccelni.
LEJTŐA meredekséget lineáris regresszióból számítja ki.
KICSIA legkisebb k értéket adja vissza.
STDEVKiszámítja a szórást.
STDEV.PKiszámítja az egész populáció SD -jét.
STDEV.SKiszámítja a minta SD -jét.
STDEVPKiszámítja az egész populáció SD -jét
IRÁNYZATAz Y értékeket trendvonal alapján számítja ki.
Szöveg
TISZTAEltávolít minden nem nyomtatható karaktert.
DOLLÁREgy számot szöveggé konvertál pénznem formátumban.
MEGTALÁLJAKeresse meg a szöveg pozícióját egy cellában. Kis- és nagybetűk érzékenyek.
BALCsonkítja a szöveget több karakterrel balról.
LENSzámolja a karakterek számát a szövegben.
KÖZÉPSŐSzöveget von ki a cella közepéből.
MEGFELELŐA szöveget megfelelő nagybetűvé alakítja.
CSEREHelyettesítés alapján helyettesíti a szöveget.
REPTA szöveget többször megismétli.
JOBBVágja a szöveget több karakterrel jobbról.
KERESÉSKeresse meg a szöveg pozícióját egy cellában. Nem különbözteti meg a kis- és nagybetűket.
HELYETTESSzöveget keres és helyettesít. Kis-nagybetű érzékeny.
SZÖVEGEgy értéket szöveggé alakít egy meghatározott számformátummal.
TRIMEltávolít minden extra szóközt a szövegből.
wave wave wave wave wave