Bár az Excel már több száz beépített funkciót tartalmaz, mint például SUM, VLOOKUP, LEFT és így tovább, a rendelkezésre álló beépített funkciók általában nem elégségesek az elég bonyolult feladatok elvégzéséhez. Azonban ne aggódjon, mert csak a szükséges funkciókat kell saját maga létrehoznia.
Lépés
1. lépés: Hozzon létre egy új munkafüzetet, vagy nyissa meg azt a munkafüzetet, amelyet a felhasználó által definiált funkciókkal (UDF) szeretne feldolgozni
2. lépés: Nyissa meg a Visual Basic Editor programot a Microsoft Excel programban az Eszközök-> Makró-> Visual Basic szerkesztő segítségével (vagy nyomja meg az Alt+F11 billentyűkombinációt)
3. lépés: A modul gombra kattintva új modult adhat a munkalaphoz
UDF -et létrehozhat a munkafüzetben új modul hozzáadása nélkül, de a funkció nem működik ugyanazon munkafüzet más munkalapjain.
4. lépés. Hozza létre a funkció "fejét" vagy "prototípusát"
A funkció prototípusának a következő szerkezetet kell követnie:
nyilvános függvény "Funkció neve" (paraméter1 Típus1, paraméter2 Mint típus2) Eredménytípusként.
A prototípusok a lehető legtöbb funkcióval rendelkezhetnek, és típusuk lehet minden alapvető adattípus vagy Excel objektumtípus Range formájában. A paramétereket úgy tekintheti, mint „operánsokat” (operátorokat), amelyekre a függvény hatni fog. Például, amikor SIN (45) értéket ír a 45 fokos szinusz kiszámításához, akkor a 45 -ös szám lesz paraméter. Ezután a funkciókód ezeket az értékeket használja a számítások elvégzéséhez és az eredmények megjelenítéséhez.
5. lépés: Adja hozzá a funkciókódot annak biztosításához, hogy: 1) használja a paraméter által megadott értéket; 2) adja át az eredményt a függvény nevének; és 3) zárja be a függvényt a "végfüggvény" mondattal. A VBA -ban vagy bármely más nyelven való programozás megtanulása sok időt és részletes útmutatást igényel. Szerencsére ezek a funkciók általában kis kódblokkokat tartalmaznak, és nem sokat használnak a programozási nyelvi funkciókból. Íme a VBA nyelv néhány használható eleme:
- Az If (ha) blokk, amely lehetővé teszi, hogy a kód egy részét csak akkor hajtsa végre, ha a feltétel teljesül. Mint például:
- . Elhagyhatja az Else kulcsszót a kód második részével együtt, mivel ez nem kötelező.
- A Do (do) blokk, amely végrehajtja a while vagy till kód egy részét, amíg vagy amíg a feltétel teljesül. Mint például:
- . Vegye figyelembe a második sort is, amely "deklarálja" a változót. Változókat adhat hozzá a kódhoz későbbi használatra. A változók ideiglenes értékként működnek a kódban. Végül tekintsük a függvény deklarációt BOOLEAN -nak, amely adattípus csak IGAZ vagy HAMIS értékeket engedélyez. Ez a prímszám -meghatározási módszer messze nem optimális, de a kódot úgy írták le, hogy könnyen olvasható legyen.
- Blokkhoz (to), amely bizonyos mennyiségű kódot hajt végre. Mint például:
- Egy állandó érték, amelyet közvetlenül a cella képletébe írnak be. Ebben az esetben a szöveget (karakterláncot) idézni kell.
- Cellahivatkozások például B6 vagy tartomány, mint A1: C3 (a paraméternek „Range” adattípusnak kell lennie)
-
Egy másik függvény, amely a funkciójához tartozik (a függvény más funkcióba is beilleszthető), például: = Factorial (MAX (D6: D8))
7. lépés. Győződjön meg arról, hogy az eredmények helyesek
Használja többször, hogy megbizonyosodjon arról, hogy a funkció képes megfelelően kezelni a különböző paraméterértékeket:
Tippek
- Amikor kódblokkokat ír a vezérlőszerkezetekbe, például If, For, Do, stb., Ügyeljen arra, hogy behúzza a kódblokkot (kissé illessze be a bal oldali szegélyt) a szóköz többszöri megnyomásával vagy a tabulátorral. Ez megkönnyíti a kód megértését, és a hibákat sokkal könnyebb megtalálni. Ezenkívül a funkcionalitás növelése könnyebbé válik.
- Ha nem tudja, hogyan kell kódot írni a függvényekhez, olvassa el az Egyszerű makró írása a Microsoft Excelben című cikket.
- Néha a függvényeknek nincs szükségük minden paraméterre az eredmény kiszámításához. Ebben az esetben az Opcionális kulcsszót használhatja a paraméter neve előtt a funkció fejlécében. A kód IsMissing (paraméter_neve) függvényével meghatározhatja, hogy egy paraméterhez érték tartozik -e vagy sem.
- Használja a használaton kívüli neveket az Excel függvényeként, így egyetlen funkció sem kerül felülírásra és törlésre.
- Az Excel számos beépített funkcióval rendelkezik, és a legtöbb számítás elvégezhető ezekkel a beépített függvényekkel, akár egyenként, akár egyszerre. A saját kódolás megkezdése előtt feltétlenül nézze meg az elérhető funkciók listáját. A végrehajtás gyorsabb, ha beépített funkciókat használ.
Figyelem
- Biztonsági okokból sokan letiltják a makrókat. Győződjön meg arról, hogy értesíti a munkafüzet címzettjeit arról, hogy a beküldött munkafüzet makrókkal rendelkezik, és hogy ezek a makrók nem károsítják számítógépüket.
- Az ebben a cikkben használt függvény nem a legjobb módja a kapcsolódó probléma megoldásának. A példával magyarázzák a nyelvvezérlési struktúrák használatát.
- A VBA más nyelvekhez hasonlóan számos más vezérlőszerkezettel rendelkezik a Do, If és For mellett. Az itt tárgyalt szerkezet csak azt írja le, hogy mit lehet tenni a függvény forráskódjában. Az interneten számos útmutató található, amelyek segíthetnek a VBA elsajátításában.
Nyilvános funkciók tanfolyam eredménye (egész értékként) karakterláncként
Ha az érték> = 5 Akkor
A tanfolyam eredményei = "Elfogadva"
Más
A tanfolyam eredményei = "elutasítva"
Vége Ha
Vége funkció
Figyelje meg az If kód blokk elemeit:
HA feltétel AKKOR kód MÁS kód VÉGE HA
Public Function BilPrima (értéke As Integer) mint Boolean
Dim i As Integer
i = 2
BilPrima = Igaz
Tedd
Ha érték / i = Int (érték / i) Akkor
BilPrima = Hamis
Vége Ha
i = i + 1
Loop Míg i <érték És NumberPrima = Igaz
Vége funkció
Nézd meg újra az elemeket:
FIGYELMEZTETÉS/MILYEN állapotig végezzen LOOP kódot
Public Function Factorial (érték egészként), mint hosszú
Halvány eredmények, ameddig
Dim i As Integer
Ha az érték = 0 Akkor
eredmény = 1
ElseIf érték = 1 Akkor
eredmény = 1
Más
eredmény = 1
For i = 1 Az értékhez
eredmény = eredmény * i
Következő
Vége Ha
Faktoriális = eredmény
Vége funkció
Nézd meg újra az elemeket:
FOR változó = alsó határ TO felső kód határérték KÖVETKEZŐ
. Ezenkívül vegye figyelembe az If utasítás további ElseIf elemét, amely lehetővé teszi további lehetőségek hozzáadását a végrehajtandó kódhoz. Végül tekintsük az „eredmény” függvényt és a hosszúnak deklarált változót. A Long adattípus sokkal nagyobb értékeket tesz lehetővé, mint az Integer.
Az alábbiakban egy függvény kódja látható, amely kis számokat szavakká alakít.
6. lépés: Térjen vissza a munkafüzethez, és használja a függvényt az „egyenlő” szimbólum (=), majd a funkció nevének beírásával a cellába
Írja a nyitó zárójeleket („(“) a függvény neve után, a jel használatával kóma hogy elkülönítse a paramétereket, és záró zárójelekkel zárja („)”). Mint például:
= NumberToLetter (A4)
. Házi képleteket is használhat, ha kategóriákban keresi őket Felhasználó által meghatározott a Képlet beszúrása opcióban. Csak kattintson a gombra Fx a képlet sáv bal oldalán. A függvényekben háromféle paraméterforma létezik: