/ / Vartotojo apibrėžta funkcija Excel VBA

Vartotojo apibrėžta funkcija Excel VBA

Žemiau apžvelgsime programą Excel VBA tai sukuria Vartotojo apibrėžta funkcija. "Excel" turi didelę funkcijų rinkinį. Daugeliu atvejų šios funkcijos yra pakankamos, kad būtų galima atlikti darbą. Jei ne, galite sukurti savo funkciją, pavadintą Vartotojo apibrėžta funkcija arba pasirinkta "Excel" funkcija. Galite pasiekti vartotojo apibrėžtą funkciją, kaip ir bet kurią kitą "Excel" funkciją.

Mes norime sukurti funkciją, vadinamą SUMEVENNUMBERS, kuri randa sumą iš vienodo skaičiaus atsitiktinai pasirinkto diapazono.

Padėtis:

Vartotojo apibrėžta funkcija Excel VBA

Vartotojo nustatytos funkcijos turi būti dedamos į modulį.

1. Atidarykite Visual Basic Editor ir spustelėkite Insert, Module.

2. Įtraukite šią kodo eilutę:

Function SUMEVENNUMBERS(rng As Range)

Mūsų funkcijos pavadinimas yra SUMEVENNUMBERS. Skilčių tarp skliaustų dalis reiškia, kad "Excel VBA" pateikiame kaip įvesties diapazoną. Mes pavadiname savo diapazono rng, bet jūs galite naudoti bet kokį pavadinimą.

3. Tada mes deklaruojame Range objektą ir vadiname jį langeliu.

Dim cell As Range

4. Mes norime patikrinti kiekvieną langelį atsitiktinai pasirinktame diapazone (šis diapazonas gali būti bet kokio dydžio). "Excel VBA" galite naudoti "Už kiekvieną kitą kilpą". Įtraukite šias kodo eilutes:

For Each cell In rng

Next cell

Pastaba: ląstelė yra pasirinkta atsitiktine tvarka, galite naudoti bet kokį pavadinimą.

5. Tada mes patikrinsime kiekvieną šio diapazono vertę, nepriklausomai nuo to, ar ji netinkama. Mes naudojame Modo operatorių. Modo operatorius suteikia likusį padalijimą. Taigi 7 mod 2 duos 1. 7 yra padalintas iš 2 (3 kartus), kad liktų nuo 1. Tai pasakius, lengva patikrinti, ar numeris yra lygus ar ne. Tik jei likusio skaičiaus, padalinto iš 2, yra 0, skaičius yra lygus. 8 mod 2 duoda 0, 8 yra padalintas 2 tiksliai 4 kartus, todėl 8 yra lygus. Pridėkite tokį teiginį "If" į kiekvieną kitą kilpą.

If cell.Value Mod 2 = 0 Then

End If

6. Tik jei šis teiginys yra teisingas, mes pridedame reikšmę SUMEVENNUMBERS. Įrašykite šią kodo eilutę.

SUMEVENNUMBERS = SUMEVENNUMBERS + cell.Value

7. Nepamirškite baigti funkcijos (ne kilpa).

End Function

8. Dabar galite naudoti šią funkciją, kaip ir bet kurią kitą "Excel" funkciją, kad surastumėte atsitiktinai pasirinkto diapazono lygių skaičių sumą.

Rezultatas:

Vartotojo apibrėžta funkcijos rezultatas

Šauniai padirbėta! Tai yra tai, kaip paprasta vartotojo apibrėžta funkcija Excel VBA. Pastaba: ši funkcija yra prieinama tik šiame darbaknyte.

Taip pat perskaitykite: