/ / Excel VBA funkcija i pod

Excel VBA funkcija i pod

Funkcija | Pod

Razlika između a funkcija i a pod u Excel VBA je da funkcija može vratiti vrijednost dok sub ne može. Funkcije i subs postaju vrlo korisni jer se veličina programa povećava.

Funkcija

Ako želite da Excel VBA izvodi zadatak kojivraća rezultat, možete koristiti funkciju. Postavite funkciju u modul (U Visual Basic Editoru kliknite Insert, Module). Na primjer, funkcija s nazivom Područje.

Function Area(x As Double, y As Double) As Double

Area = x * y

End Function

Obrazloženje: Ova funkcija ima dva argumenta (tipa Double) i tip povratka (dio kao i kao i tip Double). U svojem kodu možete koristiti naziv funkcije (Područje) kako biste naznačili rezultat koji želite vratiti (ovdje x * y).

Sada se možete pozvati na ovu funkciju (drugim riječima nazovite funkciju) s nekog drugog mjesta u kodu jednostavnim korištenjem naziva funkcije i davanjem vrijednosti za svaki argument.

Stavite gumb naredbe na radni list i dodajte sljedeće retke koda:

Dim z As Double

z = Area(3, 5) + 2

MsgBox z

Obrazloženje: Funkcija vraća vrijednost pa morate "uhvatiti" tu vrijednost u vašem kodu. Za to možete koristiti drugu varijablu (z). Zatim možete dodati drugu vrijednost ovoj varijabli (ako želite). Konačno, prikazajte vrijednost pomoću MsgBox.

Rezultat kada kliknete gumb naredbe na listu:

Excel VBA rezultat funkcije

Pod

Ako želite izvršiti neke radnje programa Excel VBA, možete upotrijebiti pod. Stavite pod u modul (U Visual Basic Editoru kliknite Insert, Module). Na primjer, pod kojim je naziv Područje.

Sub Area(x As Double, y As Double)

MsgBox x * y

End Sub

Obrazloženje: Ovaj pod ima dva argumenta (tipa Double). Nema povratnog tipa! Možete se uputiti na ovaj pod (nazovite sub) s negdje drugdje u svojem kodu tako što ćete jednostavno upotrijebiti ime sub i dodijeliti vrijednost za svaki argument.

Stavite gumb naredbe na radni list i dodajte sljedeću liniju koda:

Area 3, 5

Rezultat kada kliknete gumb naredbe na listu:

Excel VBA rezultat

Možete li vidjeti razliku između funkcijei sub? Funkcija je vratila vrijednost 15. Dodali smo vrijednost 2 na ovaj rezultat i prikazali konačni rezultat. Kada smo nazvali sub, nismo imali više kontrole nad rezultatom (15) jer sub ne može vratiti vrijednost!

Također pročitajte: