Argumentom lahko posredujete postopek (funkcijo ali pod) z referenco ali po vrednosti . Privzeto, Excel VBA posreduje argumente s sklicevanjem. Kot vedno bomo z jasnim primerom razjasnili stvari.
Postavite a ukazni gumb na delovnem listu in dodajte naslednje kodne vrstice:
NobenaxAs Celo številox = 10
MsgBox Triple (x)
MsgBox x
Koda pokliče funkcijo Triple. To je rezultat drugega MsgBox -a, ki nas zanima. Funkcije je treba postaviti v modul.
1. Odprite Urejevalnik Visual Basic in kliknite Vstavi, Modul.
2. Dodajte naslednje kodne vrstice:
FunkcijaTrojni (ByRefxAs Celo število)As Celo število
x = x * 3
Trojno = x
Konec Funkcija
Rezultat, ko kliknete ukazni gumb na listu:
3. Zamenjajte ByRef z ByVal.
FunkcijaTrojni (ByValxAs Celo število)As Celo številox = x * 3
Trojno = x
Konec Funkcija
Rezultat, ko kliknete ukazni gumb na listu:
kako narediti odštevanje v
Pojasnilo: Pri podajanju argumentov s sklicevanjem se sklicujemo na prvotno vrednost. Vrednost x (prvotna vrednost) se v funkciji spremeni. Posledično drugi MsgBox prikaže vrednost 30. Pri podajanju argumentov po vrednosti posredujemo kopijo funkciji. Prvotna vrednost se ne spremeni. Posledično drugi MsgBox prikaže vrednost 10 (prvotna vrednost).
Pojdi na naslednje poglavje: Objekt aplikacije