300 Esimerkkejä

ByRef ja ByVal

Byref Byval

Voit välittää argumentteja menettelylle (funktio tai ali) viittaamalla tai arvon mukaan . Oletuksena, Excel VBA välittää argumentit viittauksella. Kuten aina, käytämme yksinkertaista esimerkkiä selventääksemme asioita.



Aseta a komentopainiketta laskentataulukkoon ja lisää seuraavat koodirivit:

Ei mitäänxKuten Kokonaisluku
x = 10

MsgBox Triple (x)
MsgBox x

Koodi kutsuu toimintoa Triple. Se on toisen kiinnostuneen MsgBoxin tulos. Toiminnot on sijoitettava moduuliin.





1. Avaa Visual Basic Editor ja napsauta Lisää, Moduuli.

2. Lisää seuraavat koodirivit:



ToimintoKolminkertaistaa(ByRefxKuten Kokonaisluku)Kuten Kokonaisluku

x = x * 3
Kolminkertainen = x

Loppu Toiminto

Tulos, kun napsautat taulukon komentopainiketta:

ByRef -tulos

ByRef -tulos

3. Korvaa ByRef ByValilla.

ToimintoKolminkertaistaa(ByValxKuten Kokonaisluku)Kuten Kokonaisluku

x = x * 3
Kolminkertainen = x

Loppu Toiminto

Tulos, kun napsautat taulukon komentopainiketta:

ByVal -tulos

muotoile solut muiden solujen perusteella

ByVal -tulos

Selitys: Kun annamme argumentteja viittaamalla, viittaamme alkuperäiseen arvoon. Funktion x arvo (alkuperäinen arvo) muuttuu. Tämän seurauksena toinen MsgBox näyttää arvon 30. Kun välität argumentteja arvon mukaan, välitämme kopion funktiolle. Alkuperäinen arvo ei muutu. Tämän seurauksena toinen MsgBox näyttää arvon 10 (alkuperäinen arvo).

5/5 valmis! Lue lisää toiminnoista ja alitiedoista>
Siirry seuraavaan lukuun: Sovellusobjekti



^