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 | |
ÉS | Ellenőrzi, hogy minden feltétel teljesül -e. IGAZ HAMIS |
HA | Ha a feltétel teljesül, tegyen valamit, ha nem, akkor mást. |
IFERROR | Ha az eredmény hiba, akkor tegyen mást. |
VAGY | Ellenő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. |
HLOOKUP | Keresse meg az értéket az első sorban, és adjon vissza egy értéket. |
INDEX | Az oszlop- és sorszám alapján értéket ad vissza. |
NÉZZ FEL | Ví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. |
TRANSPOSE | Megfordítja a cellatartomány tájolását. |
VLOOKUP | Keresse meg az értéket az első oszlopban, és adjon vissza egy értéket. |
Dátum idő | |
DÁTUM | Az év, hónap és nap dátumát adja vissza. |
DATEVALUE | A szövegként tárolt dátumot érvényes dátummá alakítja |
NAP | A napot számként adja vissza (1-31). |
NAPOK 360 | Egy 360 napos év két napja közötti napokat ad vissza. |
EDATE | Egy dátumot ad vissza, n hónappal a kezdő dátumtól távol. |
KOMONTH | Visszaadja a hónap utolsó napját, n hónap elteltével. |
ÓRA | Az órát számként adja vissza (0-23). |
PERC | A percet számként adja vissza (0-59). |
HÓNAP | A hónapot számként adja vissza (1-12). |
HÁLÓZATI NAPOK | A munkanapok száma 2 dátum között. |
NETWORKDAYS.INTL | Munkanapok 2 dátum között, egyedi hétvégék. |
MOST | Visszaadja az aktuális dátumot és időt. |
MÁSODIK | A másodikat számként adja vissza (0-59) |
IDŐ | Visszaadja az órát, percet és másodpercet. |
IDŐÉRTÉK | A szövegként tárolt időt érvényes idővé alakítja át. |
HÉTKÖZNAP | Visszaadja a hét napját számként (1-7). |
WEEKNUM | Visszaadja a hét számát egy évben (1-52). |
MUNKANAP | A dátum egy munkanaptól számított munkanap. |
ÉV | Visszaadja az évet. |
ÉVFRAC | Az év töredékét adja vissza 2 dátum között. |
Mérnöki | |
ALAKÍTANI | Szám átalakítása egyik egységből a másikba. |
Pénzügyi | |
FV | Kiszámítja a jövőbeli értéket. |
PV | Kiszámítja a jelenértéket. |
NPER | Kiszámítja a fizetési időszakok teljes számát. |
PMT | Kiszámítja a fizetés összegét. |
MÉRTÉK | Kiszámítja a kamatlábat. |
NPV | Kiszámítja a nettó jelenértéket. |
IRR | Az időszakos CF -ek belső megtérülési rátája. |
XIRR | A nem periodikus CF-ek belső megtérülési rátája. |
ÁR | Kiszámítja a kötvény árát. |
BELÉPÉS | A teljesen befektetett értékpapír kamatlába. |
Információ | |
ISERR | Ellenőrizze, hogy a cella értéke hiba -e, figyelmen kívül hagyva a #N/A értéket. IGAZ HAMIS |
ISERROR | Ellenőrizze, hogy a cella értéke hiba -e. IGAZ HAMIS |
EGYENLŐ | Ellenőrizze, hogy a cella értéke páros -e. IGAZ HAMIS |
ISLOGICAL | Ellenőrizze, hogy a cella logikus -e (IGAZ vagy HAMIS). IGAZ HAMIS |
ISNA | Ellenőrizze, hogy a cella értéke #N/A. IGAZ HAMIS |
ISNONTEXT | Ellenőrizze, hogy a cella nem szöveg -e (az üres cellák nem szövegek). IGAZ HAMIS |
SZÁM | Ellenőrizze, hogy a cella szám -e. IGAZ HAMIS |
ISODD | Ellenőrizze, hogy a cella értéke páratlan -e. IGAZ HAMIS |
ISTEXT | Ellenőrizze, hogy a cella szöveg -e. IGAZ HAMIS |
TÍPUS | Visszaadja a cella értéke típusát. |
Math | |
ABS | Kiszámítja a szám abszolút értékét. |
AGGREGATE | Adjon meg és végezzen számításokat adatbázishoz vagy listához. |
MENNYEZET | Egy számot felfelé kerekít a legközelebbi megadott többszörösre. |
KÖTÖZŐSALÁTA | Egy szög koszinuszát adja vissza. |
FOKOZATOK | A radiánokat fokra konvertálja. |
DSUM | Összegzi az adatbázis rekordjait, amelyek megfelelnek bizonyos feltételeknek. |
MÉG | Kerekíti a legközelebbi páros egész számra. |
EXP | Kiszámítja az adott szám exponenciális értékét. |
TÉNY | Visszaadja a faktoriált. |
PADLÓ | Egy számot lefelé kerekít a legközelebbi megadott többszörösre. |
GCD | Visszaadja a legnagyobb közös osztót. |
INT | Lekerekít egy számot a legközelebbi egész számra. |
LCM | A legkevésbé gyakori többszörösét adja vissza. |
LN | Egy szám természetes logaritmusát adja vissza. |
LOG | Egy szám logaritmusát adja vissza egy megadott bázishoz. |
LOG10 | Egy szám 10-es logaritmusát adja vissza. |
MROUND | Kerekít egy számot egy megadott többszörösre. |
PÁRATLAN | A legközelebbi páratlan egész számra kerekíti. |
PI | A PI értéke. |
ERŐ | Kiszámítja a hatványra emelt számot. |
TERMÉK | Megsokszorozza a számok tömbjét. |
HÁNYADOS | Visszaadja az osztás egész eredményét. |
RADIÁNOK | A szöget radiánokká alakítja. |
RANDBETWEEN | Véletlen számot számít két szám között. |
KEREK | Kerekít egy számot egy meghatározott számjegyre. |
LEKEREKÍT | A számot lefelé kerekíti (nulla felé). |
FELHAJT | Kerekít egy számot felfelé (nullától távol). |
BŰN | Egy szög szinuszát adja vissza. |
RÉSZVÉTEL | Adat sorozat összegző statisztikáját adja vissza. |
ÖSSZEG | Összeadja a számokat. |
SUMIF | Összegezi a kritériumoknak megfelelő számokat. |
SUMIFS | Több feltételnek megfelelő számokat összegez. |
ÖSSZEFOGLALÓ | Megtöbbszörözi a számtömböket, és összeadja a kapott tömböt. |
CSER | Egy szög érintőjét adja vissza. |
Statisztika | |
ÁTLAGOS | Átlagos számok. |
ÁTLAGOS | A kritériumoknak megfelelő számok átlaga. |
ÁTLAGOS | Több feltételnek megfelelő számok átlaga. |
CORREL | Kiszámítja két sorozat korrelációját. |
SZÁMOL | Megszámolja a számot tartalmazó cellákat. |
COUNTA | Számolja ki a nem üres cellákat. |
COUNTBLANK | Az üres cellákat számolja. |
COUNTIF | Számolja a kritériumoknak megfelelő cellákat. |
COUNTIFS | Számolja a több kritériumnak megfelelő cellákat. |
ELŐREJELZÉS | A jövőbeli y-értékek előrejelzése a lineáris trendvonalból. |
FREKVENCIA | A megadott tartományba eső értékeket számolja. |
NÖVEKEDÉS | Az Y értékeket exponenciális növekedés alapján számítja ki. |
INTERCEPT | Kiszámítja az Y metszést a legjobban illeszkedő egyeneshez. |
NAGY | A k. Legnagyobb értéket adja vissza. |
LINEST | Egy trendvonal statisztikai adatait adja vissza. |
MAX | A legnagyobb számot adja vissza. |
KÖZÉPSŐ | A medián számot adja vissza. |
MIN | A legkisebb számot adja vissza. |
MÓD | A leggyakoribb számot adja vissza. |
SZÁZALÉKOS | Visszaadja a k -ik százalékos értéket. |
PERCENTILE.INC | Visszaadja a k -ik százalékos értéket. Ahol k befogadó. |
PERCENTILE.EXC | Visszaadja a k -ik százalékos értéket. Ahol k kizárólagos. |
QUARTILE | A megadott kvartilis értéket adja vissza. |
QUARTILE.INC | A megadott kvartilis értéket adja vissza. Befogadó. |
QUARTILE.EXC | A megadott kvartilis értéket adja vissza. Kizárólagos. |
RANG | Egy szám rangja egy sorozaton belül. |
RANK.AVG | Egy szám rangja egy sorozaton belül. Átlagok. |
RANK.EQ | Egy szám rangja egy sorozaton belül. Megviccelni. |
LEJTŐ | A meredekséget lineáris regresszióból számítja ki. |
KICSI | A legkisebb k értéket adja vissza. |
STDEV | Kiszámítja a szórást. |
STDEV.P | Kiszámítja az egész populáció SD -jét. |
STDEV.S | Kiszámítja a minta SD -jét. |
STDEVP | Kiszámítja az egész populáció SD -jét |
IRÁNYZAT | Az Y értékeket trendvonal alapján számítja ki. |
Szöveg | |
TISZTA | Eltávolít minden nem nyomtatható karaktert. |
DOLLÁR | Egy számot szöveggé konvertál pénznem formátumban. |
MEGTALÁLJA | Keresse meg a szöveg pozícióját egy cellában. Kis- és nagybetűk érzékenyek. |
BAL | Csonkítja a szöveget több karakterrel balról. |
LEN | Szá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. |
CSERE | Helyettesítés alapján helyettesíti a szöveget. |
REPT | A szöveget többször megismétli. |
JOBB | Vágja a szöveget több karakterrel jobbról. |
KERESÉS | Keresse meg a szöveg pozícióját egy cellában. Nem különbözteti meg a kis- és nagybetűket. |
HELYETTES | Szöveget keres és helyettesít. Kis-nagybetű érzékeny. |
SZÖVEG | Egy értéket szöveggé alakít egy meghatározott számformátummal. |
TRIM | Eltávolít minden extra szóközt a szövegből. |