Funkcija Excel VBA in podpreprosti Excelovi makri

Kazalo

Funkcija | Pod

Razlika med a funkcijo in a podv v Excel VBA je, da lahko funkcija vrne vrednost, medtem ko sub ne more. Funkcije in podnapisi postanejo zelo uporabni, ko se velikost programa povečuje.

Funkcija

Če želite, da Excel VBA izvede nalogo, ki vrne rezultat, lahko uporabite funkcijo. Postavite funkcijo v modul (v urejevalniku Visual Basic kliknite Vstavi, Modul). Na primer funkcija z imenom Area.

Funkcijsko območje (x kot dvojno, y kot dvojno) kot dvojno
Površina = x * y
Končana funkcija

Pojasnilo: Ta funkcija ima dva argumenta (tipa Double) in vrnitev (del za As tudi tipa Double). Z imenom funkcije (Območje) v kodi lahko označite, kateri rezultat želite vrniti (tukaj x * y).

Zdaj se lahko sklicujete na to funkcijo (z drugimi besedami, pokličete funkcijo) od koder koli drugje v svoji kodi, tako da preprosto uporabite ime funkcije in določite vrednost za vsak argument.

Na delovni list postavite ukazni gumb in dodajte naslednje kodne vrstice:

Dim z As Double
z = površina (3, 5) + 2
MsgBox z

Pojasnilo: Funkcija vrne vrednost, zato morate to vrednost 'ujeti' v svojo kodo. Za to lahko uporabite drugo spremenljivko (z). Nato lahko tej spremenljivki dodate še eno vrednost (če želite). Na koncu vrednost prikazajte s pomočjo polja MsgBox.

Rezultat, ko kliknete ukazni gumb na listu:

Pod

Če želite, da Excel VBA izvede nekaj dejanj, lahko uporabite pod. Podmesto postavite v modul (v urejevalniku Visual Basic kliknite Vstavi, Modul). Na primer podpodročje z imenom Območje.

Podpodročje (x kot dvojno, y kot dvojno)
MsgBox x * y
End Sub

Pojasnilo: Ta podmeni ima dva argumenta (tipa Double). Nima vrste vračila! Na to pomožno enoto (pokličite jo) se lahko sklicujete od koder koli drugje v svoji kodi, tako da preprosto uporabite ime podrejene in podate vrednost za vsak argument.

Na svoj delovni list postavite ukazni gumb in dodajte naslednjo kodno vrstico:

Območje 3, 5

Rezultat, ko kliknete ukazni gumb na listu:

Ali vidite razliko med funkcijo in pomožno enoto? Funkcija je vrnila vrednost 15. Temu rezultatu smo dodali vrednost 2 in prikazali končni rezultat. Ko smo poklicali sub, nismo imeli več nadzora nad rezultatom (15), ker sub ne more vrniti vrednosti!

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave