Excel VBA -toiminto ja ali - Helppo Excel -makro

Sisällysluettelo

Toiminto | Sub

Ero a toiminto ja a sub sisään Excel VBA on, että funktio voi palauttaa arvon, kun taas osa ei voi. Toiminnoista ja aliosista tulee erittäin hyödyllisiä ohjelman koon kasvaessa.

Toiminto

Jos haluat Excel VBA: n suorittavan tuloksen palauttavan tehtävän, voit käyttää funktiota. Aseta funktio moduuliin (Valitse Visual Basic Editorissa Lisää, Moduuli). Esimerkiksi funktio, jonka nimi on Area.

Toiminta -alue (x kaksinkertaisena, y kaksinkertaisena) kaksinkertaisena
Alue = x * y
Lopeta toiminto

Selitys: Tällä funktiolla on kaksi argumenttia (tyyppiä Double) ja palautustyyppi (As -jälkeen oleva osa, myös tyyppi Double). Voit käyttää koodin funktion nimeä (alue) ilmaisemaan, minkä tuloksen haluat palauttaa (tässä x * y).

Voit nyt viitata tähän funktioon (toisin sanoen kutsua funktion) jostain muualta koodissasi yksinkertaisesti käyttämällä funktion nimeä ja antamalla arvon jokaiselle argumentille.

Aseta komentopainike laskentataulukkoosi ja lisää seuraavat koodirivit:

Dim z Tuplana
z = Alue (3, 5) + 2
Viestilaatikko z

Selitys: Funktio palauttaa arvon, joten sinun on otettava tämä arvo koodiin. Voit käyttää tähän toista muuttujaa (z). Seuraavaksi voit lisätä tähän arvoon toisen arvon (jos haluat). Näytä lopuksi arvo käyttämällä MsgBoxia.

Tulos, kun napsautat taulukon komentopainiketta:

Sub

Jos haluat Excel VBA: n suorittavan joitain toimintoja, voit käyttää alisovellusta. Aseta osa moduuliin (Valitse Visual Basic Editorissa Lisää, Moduuli). Esimerkiksi alaosa, jonka nimi on Area.

Osa -alue (x kaksinkertaisena, y kaksinkertaisena)
MsgBox x * y
End Sub

Selitys: Tässä osassa on kaksi argumenttia (tyyppi Double). Siinä ei ole palautustyyppiä! Voit viitata tähän osaan (kutsua sub) jostain muualta koodissasi yksinkertaisesti käyttämällä alinimeä ja antamalla arvon jokaiselle argumentille.

Aseta komentopainike laskentataulukkoosi ja lisää seuraava koodirivi:

Alue 3, 5

Tulos, kun napsautat taulukon komentopainiketta:

Näetkö erot funktion ja subin välillä? Funktio palautti arvon 15. Lisäsimme tähän tulokseen arvon 2 ja näytimme lopullisen tuloksen. Kun soitimme subille, emme voineet enää hallita tulosta (15), koska sub ei voi palauttaa arvoa!

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave