(Egyéni) felhasználó által definiált funkciók (UDF) létrehozása

Ez az oktatóanyag elmagyarázza, hogyan hozhat létre felhasználó által definiált funkciókat a VBA -ban.

A VBA al- és függvényeljárásokból áll. A függvényeljárások értéket adnak vissza, és meghívhatók az al -eljárásokkal, vagy használhatók az Excel -lapon, ahol a függvény által előállított érték visszatér az Excel -laphoz. Az Excel természetesen számos beépített funkcióval rendelkezik - például a Sum Function vagy az If Function. A VBA-ban írt funkció eljárásokat a beépített függvényhez hasonló módon használják, és felhasználói definiált funkciók (UDF) néven ismertek.

Miért érdemes UDF -et létrehozni?

Hiányzik a kötelező funkció

Az UDF Excelben való létrehozásának egyik fő oka, hogy nincs meglévő beépített funkció, amely elvégzi a feladatot. A saját funkció írása a VBA -ban általában a leghatékonyabb módja a probléma megoldásának. Az alábbi függvény kilogrammból fontot konvertál fontra, ahol egy változó paramétert (dblKilo) használnak a kilogramm értékének kiszámításához a számításhoz.

Szubrutin cseréje (makró)

Írhat egy al eljárást (makrót) a feladat megoldásához - de az alfolyamatok nem adnak vissza értéket, és nem dinamikusak - más szóval, ha a munkalap értékei megváltoznak, akkor újra kell futtatnia a makró annak érdekében, hogy a makró számításai frissítsék az adatait. Az alábbi al-eljárás a kilóinkat is fontra konvertálja, de minden alkalommal, amikor az adatok A1-ben megváltoztak, újra kell futtatnia a makrót az eredmény frissítéséhez.

Képlet cseréje

Előfordulhat, hogy egy nagyon bonyolult képlettel rendelkezik az Excelben, amelyet ismétlődően kell használnia - a képlet VBA -kódba történő behelyezése megkönnyíti az olvasást és a megértést -, és talán megszünteti a felhasználói hibák helyét a képlet beírásakor.

UDF -ek létrehozása

UDF létrehozásához először adjon hozzá egy modult az Excel munkafüzetéhez, vagy ha rendelkezik személyes makró munkafüzettel, akkor használhat egy meglévő modult, vagy hozzáadhat egy újat. Ehhez a Visual Basic Editorban (VBE) kell lennie. A VBE eléréséhez nyomja meg a gombot ALT + F11 vagy kattintson a szalag Fejlesztő lapján a Visual Basic lehetőségre.

TIPP: Ha nincs engedélyezve a Fejlesztői lap a szalagon, lépjen a következőre: Fájl, Beállítások és kattintson a gombra Szalag testreszabása. Győződjön meg arról, hogy a Fejlesztő jelölőnégyzet be van jelölve, majd kattintson az OK gombra.

Új modul behelyezéséhez válassza ki azt a VBA -projektet, amelybe be kívánja helyezni a modult (vagy az aktuális könyv VBA -projektje, vagy a Személyes makró munkafüzet), kattintson a Beszúrás Menü, majd kattintson a gombra Modul

Miután létrehozta a modult, megkezdheti az UDF létrehozását.

Minden UDF funkcióval kezdődik, majd az UDF nevével. A függvények lehetnek privát vagy nyilvánosak, de általában azt szeretné, ha az UDF nyilvános lenne, hogy megjelenjenek az Excel Funkció beszúrása párbeszédpaneljén (lásd a függvény használatát az Excel -lapon belül, a cikk alján). Ha nem adja meg a Privát kulcsszót a függvény előtt, akkor a funkció automatikusan nyilvános.

123 Funkció TestFunction1 (intA As Integer) Egész számkéntTestFunction1 = intA * 7Vége funkció

A fenti függvény egyetlen argumentummal (intA) rendelkezik. Funkciót több argumentummal is létrehozhat

123 Funkcióteszt Funkció2 (intA mint egész, intB mint egész, intC mint egész) mint egészTestFunction2 = (intA * intB) + intCVége funkció

Funkciót opcionális argumentumokkal is létrehozhat. Ha az argumentum kihagyásra kerül, beállíthat egy alapértelmezett értéket az argumentumhoz a függvényben.

123 FunkciótesztFunkció3 (intA mint egész, intB mint egész, opcionális intC mint egész = 10) Egész számkéntTestFunction3 = (intA * intB) + intCVége funkció

Funkció használata Excel táblázatból

Az Ön által létrehozott funkciók alapértelmezés szerint megjelennek a funkciólistában, a funkciólista Felhasználó által definiált részében.

Kattintson a fx a Funkció beszúrása párbeszédpanel megjelenítéséhez.

Válassza a lehetőséget Felhasználó által meghatározott a Kategória listából

Válassza ki a kívánt funkciót a rendelkezésre álló lehetőségek közül Felhasználó által definiált funkciók.

Alternatív megoldásként, amikor elkezdi írni a függvényt Excelben, a funkciónak meg kell jelennie a funkciók legördülő listájában.

A funkciók mentése az Excel fájlba

Mivel a függvények VBA kódban vannak írva, nyilvánvaló, hogy a kódnak elérhetőnek kell lennie a munkafüzetben ahhoz, hogy az Excel lapon belül használható legyen. A funkciókat mentheti a munkafüzetben, amelyben használja őket, vagy mentheti a személyes makró munkafüzetébe. A személyes makró munkafüzet egy rejtett fájl, amely mindig elérhető, amikor az Excel nyitva van, és ezért az Excel bármely munkafüzetében használható. Általában akkor jön létre, amikor rögzít egy makrót, és kiválasztja a makró személyes makró munkafüzetben való tárolásának lehetőségét.

Ha meg szeretné őrizni a funkcióit a munkafüzetben, amelyen dolgozik, akkor győződjön meg arról, hogy a munkafüzet mentésekor „Makró engedélyezett munkafüzet'Vagy egy xlsm fájlt.

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave