„Excel“ pritaikytos funkcijos - Sukurkite pasirinktines vartotojo nustatytas funkcijas

Kaip sukurti pasirinktines „Excel“ funkcijas? (su pavyzdžiais)

Norėdami sukurti pasirinktinę funkciją, turime parašyti savo funkcijų veikimo kodą, kuris vadinamas „UDF“. Pasirinktinės funkcijos yra vartotojo apibrėžtos „Excel“ funkcijos, todėl norėdami sukurti šias funkcijas, turite gerai žinoti VBA kodavimą.

1 pavyzdys - pridėkite bet kokius du skaičius

Pvz., Jei norite pridėti bet kuriuos du skaičius, tada parodysime paprastą vartotojo apibrėžtą funkciją (UDF).

  • Paspauskite Alt + F11 ir įdėkite modulį.
  • Parašykite kodą modulyje, kad sukurtumėte pasirinktinę funkciją.

Bet kuri pasirinktinė funkcija turėtų prasidėti žodžiu „Funkcija“ ir formulės pavadinimu.

Bet kuri funkcija turi savo argumentus ar parametrus, panašiai kaip ir pasirinktinės funkcijos; turime apibrėžti tuos parametrus. Kadangi pridedame tik du skaičius, apibrėžkime tuos parametrus ir priskirkime duomenų tipus šiems argumentų kintamiesiems.

Nustačius parametrus su duomenų tipu, turime apibrėžti ir rezultatų rezultatų duomenis. Apibrėžkime rezultatą kaip „Sveikasis skaičius“.

Šios „Funkcijos procedūros“ viduje parašysime formulės kodą.

Kodas:

Funkcijos papildymas (Num1 kaip sveikas skaičius, Num2 kaip sveikas skaičius) kaip sveikojo skaičiaus papildymasa = Num1 + Num2 pabaigos funkcija

Tai sako, kad funkcijos pavadinimo „Papildymas“ rezultatas bus Num1 ir Num2 reikšmių suma.

  • Dabar grįžkite į darbalapį ir įveskite bet kokius du sveikus skaičius.
  • Dabar pridėsime šiuos du skaičius. Atidarykite lygybės ženklą ir įveskite pasirinktinį funkcijos pavadinimą „Papildymas“.

Pasirinkite pirmąjį ir antrąjį skaičius, kableliais įvedę skyriklį (,).

  • Paspauskite klavišą Enter, kad gautumėte rezultatą.

Oho!!! Kaip ir funkcija SUM, gavome dviejų skaičių sumos rezultatą.

Dabar pažiūrėkite į šiuos skaičius.

Pabandykite dabar pridėti šiuos du skaičius.

Klaidos vertę gavome, nes argumentų „Num1 & Num2“ duomenų tipas yra „Sveikasis skaičius“, ty šiuose dviejuose argumentuose reikšmės gali būti nuo -32767 iki 32767, taigi šios klaidos sukels daugiau nei tai.

Dabar pabandykite pridėti šiuos du skaičius.

Net tai sukels mažesnę klaidos vertę.

Nors atskirų argumentų reikšmės neviršija sveikojo duomenų tipo ribos, vis tiek sulaukėme šios klaidos, nes bendra šių skaičių suma yra didesnė už sveiko skaičiaus ribinę vertę.

Kadangi rezultatų tipą mes taip pat paskelbėme kaip „sveikasis skaičius“, dviejų skaičių pridėjimo rezultatas taip pat turėtų būti sveiko skaičiaus apribojimas.

2 pavyzdys - pridėkite visus nelyginius skaičius

„Excel“ neturi jokios integruotos funkcijos, kuri gali pridėti visus nelyginius skaičius iš skaičių sąrašo. Bet nieko nerimauti, sukursime pasirinktinę „Excel“ funkciją, kad tai palaikytume.

Atidarykite VBA redaktoriaus langą ir suteikite pavadinimą procedūrai Funkcija.

Nurodykite šios funkcijos parametrą kaip „Diapazonas“.

Tai reiškia, kad šiai funkcijai mes pateikiame šios funkcijos įvesties vertę kaip langelių reikšmių „diapazoną“.

Kadangi turime pereiti daugiau nei vieną langelį, turime naudoti VBA kilpą „Kiekvienam“, todėl atidarykite „Kiekvienam“ kilpą.

Šios kilpos viduje pridėkite žemiau esantį kodą.

Kodas:

Funkcija AddOdd (Rng as Range) kiekvienam langeliui Rng If langelyje. Vertė Mod 2 0 Tada AddOdd = AddOdd + langelis. Vertė Kita langelis Pabaiga Funkcija

Norėdami išbandyti skaičių, turime naudoti „MOD“ funkciją. Kai kiekvienos langelio reikšmė padalijama iš skaičiaus 2, o likusi vertė nėra lygi nuliui, tada mūsų kodas turėtų pridėti visas nelyginio skaičiaus reikšmes.

Dabar grįžkite į darbalapį ir atidarykite „Excel“ pasirinktinę funkciją.

Pasirinkite skaičių diapazoną nuo A1 iki D8.

Paspauskite „Enter“ mygtuką, kad gautumėte „nelyginio“ skaičiaus rezultatą. “

Taigi nuo A1 iki D8 diapazone nelyginių skaičių suma yra 84.

3 pavyzdys - pridėkite visus lyginius skaičius

Panašiai žemiau pateikta funkcija pridės visus lyginius skaičius.

Kodas:

Funkcija „AddEven“ (Rng kaip diapazonas) kiekvienam langeliui, esančiam „Rng If“ langelyje. Vertė Mod 2 = 0, tada AddEven = AddEven + langelis. Vertė Kitas langelis Pabaigos funkcija

Ši funkcija pridės tik lyginį skaičių. Šiuo atveju mes panaudojome logiką, jei kiekviena langelio reikšmė padalijama iš 2, o likusi dalis lygi nuliui, tada kodas pridės tik tas langelio reikšmes.

Panašiai, naudodami VBA kodavimą, galime sukurti savo pasirinktines funkcijas.

Ką reikia atsiminti

  • Kurti pasirinktines funkcijas yra ne kas kita, o vartotojo nustatytos funkcijos.
  • Norėdami sukurti pasirinktines funkcijas, turite žinoti apie pažangius VBA kodavimo įgūdžius.
  • Kuriant pasirinktines „Excel“ funkcijas, svarbu atkreipti dėmesį į argumentus ir jų duomenų tipus.

Įdomios straipsniai...