Í VBA forritun skilar fall gildi. Þú getur framkvæmt aðgerðaferli og kallað aðgerðina í Excel 2016. Aðgerðir, ólíkt undiraðgerðum, er aðeins hægt að framkvæma á tvo vegu:
Prófaðu þessa einföldu aðgerð. Sláðu það inn í VBA mát:
Aðgerð CubeRoot(tala)
CubeRoot = tala ^ (1/3)
Lokaaðgerð
Þessi aðgerð er frekar töff; það reiknar bara teningsrót þeirrar tölu sem er send til hennar sem rök. Það gefur hins vegar upphafspunkt til að skilja aðgerðir. Það sýnir einnig mikilvægt hugtak um aðgerðir: hvernig á að skila gildinu. (Þú manst eftir því að fall skilar gildi, ekki satt?)
Taktu eftir að eina kóðalínan sem myndar þessa aðgerðaaðferð framkvæmir útreikning. Niðurstaða stærðfræðinnar (tala í veldi 1/3) er úthlutað breytunni CubeRoot. Ekki tilviljun, CubeRoot er líka nafn aðgerðarinnar. Til að segja fallinu hvaða gildi á að skila, úthlutarðu því gildi við nafn fallsins.
Að kalla aðgerðina frá undirferli
Vegna þess að þú getur ekki framkvæmt aðgerð beint, verður þú að kalla hana frá annarri aðferð. Sláðu inn eftirfarandi einfalda aðferð í sömu VBA einingu sem inniheldur CubeRoot aðgerðina:
Sub CallerSub()
Ans = CubeRoot(125)
MsgBox Ans
End Sub
Þegar þú keyrir CallerSub málsmeðferðina birtir Excel skilaboðareit sem inniheldur gildi Ans breytunnar, sem er 5.
Hér er það sem er að gerast: CubeRoot fallið er keyrt og það fær viðfangið 125. Útreikningurinn er framkvæmdur með kóða fallsins (með því að nota gildið sem er gefið sem rök), og skilað gildi fallsins er úthlutað Ans breytunni. MsgBox aðgerðin sýnir síðan gildi Ans breytunnar.
Prófaðu að breyta röksemdinni sem er send í CubeRoot aðgerðina og keyrðu CallerSub fjölvi aftur. Það virkar alveg eins og það á að gera - að því gefnu að þú gefur fallinu gild rök (jákvæð tala).
Við the vegur, CallerSub málsmeðferð mætti einfalda aðeins. Ans breytan er í raun ekki nauðsynleg nema kóðinn þinn muni nota þá breytu síðar. Þú gætir notað þessa einu setningu til að fá sömu niðurstöðu:
MsgBox CubeRoot(125)
Að kalla fall úr formúlu vinnublaðs
Nú er kominn tími til að kalla þetta VBA Function aðferð frá vinnublaðsformúlu. Virkjaðu vinnublað í sömu vinnubók sem geymir CubeRoot fallskilgreininguna. Sláðu síðan inn eftirfarandi formúlu í hvaða reit sem er:
=CubeRoot(1728)
Hólfið sýnir 12, sem er reyndar teningsrótin af 1.728.
Eins og þú gætir búist við geturðu notað frumutilvísun sem rök fyrir CubeRoot fallinu. Til dæmis, ef reit A1 inniheldur gildi geturðu slegið inn =CubeRoot(A1) . Í þessu tilviki skilar fallið tölunni sem fæst með því að reikna út teningsrót gildisins í A1.
Þú getur notað þessa aðgerð hversu oft sem er í vinnublaðinu. Eins og innbyggðar aðgerðir Excel birtast sérsniðnar aðgerðir þínar í Insert Function valmyndinni. Smelltu á Insert Function tækjastikuhnappinn og veldu User Defined flokkinn. Í Insert Function svarglugginn er listi yfir þína eigin aðgerð.

CubeRoot aðgerðin birtist í User Defined flokki í Insert Function valmyndinni.
Ef þú vilt að Insert Function valmyndin sýni lýsingu á aðgerðinni skaltu fylgja þessum skrefum:
Veldu þróunaraðila → Kóði → Fjölvi.
Excel sýnir Macro valmyndina, en CubeRoot birtist ekki á listanum. (CubeRoot er aðgerðaaðferð og þessi listi sýnir aðeins undiraðferðir.) Ekki hafa áhyggjur.
Sláðu inn orðið CubeRoot í Macro Name reitnum.
Smelltu á Options hnappinn.
Sláðu inn lýsingu á aðgerðinni í reitnum Lýsing.
Smelltu á OK til að loka Macro Options valmyndinni.
Lokaðu Macro valmyndinni með því að smella á Hætta við hnappinn.
Þessi lýsandi texti birtist nú í Insert Function valmyndinni.
Skoðaðu CubeRoot aðgerðina sem er notuð í vinnublaðsformúlum.

Notkun CubeRoot fallsins í formúlum.