/ / Felhasználó által definiált függvény az Excel VBA-ban

Felhasználó által meghatározott funkció az Excel VBA-ban

Az alábbiakban egy programot nézünk be Excel VBA amely létrehozza a Felhasználó által meghatározott funkció. Az Excel számos funkcióval rendelkezik. A legtöbb esetben ezek a funkciók elegendőek a munkához. Ha nem, létrehozhatja a saját funkcióját, a Felhasználó által definiált függvény vagy egyéni Excel funkció. A Felhasználó által meghatározott funkcióhoz hasonlóan bármely más Excel funkcióhoz is hozzáférhet.

Olyan SUMEVENNUMBERS nevű függvényt akarunk létrehozni, amely egy véletlenszerűen kiválasztott tartomány egyenletes számát összegzi.

Helyzet:

Felhasználó által meghatározott funkció az Excel VBA-ban

A felhasználó által definiált funkciókat egy modulba kell helyezni.

1. Nyissa meg a Visual Basic Editor alkalmazást, majd kattintson a Beszúrás, Modul lehetőségre.

2. Adja hozzá a következő kódot:

Function SUMEVENNUMBERS(rng As Range)

Funkciónk neve SUMEVENNUMBERS. A zárójelek közötti rész azt jelenti, hogy megadjuk az Excel VBA-nak egy tartományt bemenetként. Nevezzük tartományunkat rng, de bármilyen nevet használhatunk.

3. Ezt követően kijelöljük a Range objektumot és hívjuk cellaként.

Dim cell As Range

4. Minden cellát egy véletlenszerűen kiválasztott tartományban szeretnénk ellenőrizni (ez a tartomány bármilyen méretű lehet). Az Excel VBA programban használhatja a For Every Next hurot ehhez. Adja hozzá a következő kódsorokat:

For Each cell In rng

Next cell

Megjegyzés: itt véletlenszerűen választottuk a cellát, bármilyen nevet használhatunk.

5. Ezután ellenőrizzük, hogy minden érték ebben a tartományban van-e, vagy sem. Ehhez a Mod operátort használjuk. A Mod operátor adja a fennmaradó részosztályt. Tehát a 7 mod 2 az 1. 7-et kétszer osztja meg (3-szor), hogy az maradék 1 maradjon. Ezt követően könnyű ellenőrizni, hogy egy szám egyenletes-e vagy sem. Csak akkor, ha a szám többi részével megegyező 0, a szám egyenlő. 8 mod 2 ad 0, 8 osztva 2 pontosan 4-szel, ezért 8 egyenletes. Adja hozzá az alábbi If utasításokat a For Every Next huroknak.

If cell.Value Mod 2 = 0 Then

End If

6. Csak akkor, ha ez a kijelentés igaz, hozzáadjuk az értéket a SUMEVENNUMBERS értékhez. Adja hozzá a következő kódot az If utasításban.

SUMEVENNUMBERS = SUMEVENNUMBERS + cell.Value

7. Ne felejtsd el befejezni a funkciót (a hurokon kívül).

End Function

Most már használhatja ezt a funkciót, mint bármely más Excel funkciót, hogy megtalálja a véletlenszerűen kiválasztott tartomány egyenletes számát.

Eredmény:

Felhasználó által meghatározott funkció eredmény

Szép munka! Ez az, hogy milyen egyszerű a felhasználó által definiált függvény az Excel VBA-ban Megjegyzés: ez a funkció csak ebben a munkafüzetben érhető el.

Szintén olvasható: