Kaj je ByRef v VBA?

Byref v VBA pomeni „Po referencah“. S pomočjo VBA Byref lahko ciljno usmerimo prvotno vrednost, ne da bi spremenili vrednost, shranjeno v spremenljivkah. Z drugimi besedami, vrednost bomo neposredno prenesli v postopke Sub, namesto da bi šli skozi običajne metode določanja in dodeljevanja vrednosti spremenljivkam.

V VBA ByRef določimo podproces po tem, ko smo postavili pravilo za ByRef. To bi lahko storili pod podpostopkom, kjer želimo napisati kodo. V ByRef smo na novo definirali spremenljivko, ki se uporablja v podpostopku. Pravilno deluje le, ko v našem podprocesu pokličemo stanje ByRef.

Kako uporabljati funkcijo ByRef v Excelu VBA?

Spodaj so različni primeri uporabe funkcije ByRef v Excelu z uporabo kode VBA.

To predlogo VBA ByRef Excel lahko prenesete tukaj - Predloga VBA ByRef Excel

Excel VBA ByRef - Primer 1

Najprej se naučimo, kako vstaviti ByRef v VBA, za to sledite spodnjim korakom. V tem primeru bomo videli, kako uporabiti VBA ByRef za preprosto matematično odštevanje. Za to bi potrebovali modul.

1. korak: Torej, pojdite na VBA in odprite modul iz možnosti Vstavi meni, kot je prikazano spodaj.

2. korak: V novo odprti modul napišite podkategorijo VBA ByRef, kot je prikazano spodaj.

Koda:

 Sub VBA_ByRef1 () Konec Sub 

Korak 3: Zdaj določite spremenljivko, recimo, da je A kot celo število.

Koda:

 Pod VBA_ByRef1 () Dim A kot celoten konec Pod 

4. korak: poljubno številko dodelite spremenljivki A. Naj bo ta številka 1000.

Koda:

 Pod VBA_ByRef1 () Dim A kot celo število A = 1000 končni sub 

5. korak: Za tiskanje vrednosti, shranjene v spremenljivki A, bi uporabili Msgbox.

Koda:

 Pod VBA_ByRef1 () Dim A kot celo število A = 1000 MsgBox A Končni pod 

6. korak: Zdaj sestavimo in zaženemo to kodo s klikom na gumb Predvajaj, kot je prikazano spodaj. Dobili bomo polje s sporočilom z vrednostjo, shranjeno v spremenljivki A, kot 1000 .

Zdaj uporabite VBA ByRef, ustvarite drugo podkategorijo pod prvo in dodelite definirano spremenljivko iz prve podkategorije z ByRef.

7. korak: S tem bomo drugi podkategoriji omogočili uporabo vrednosti, shranjenih v spremenljivki A.

Koda:

 Sub VBA_ByRef1 () Dim A kot celoten A = 1000 MsgBox A End Sub Sub VBA_ByRef2 (ByRef A kot celo število) End Sub 

Korak 8: Zdaj pokličite spremenljivko A tukaj in odštejte katero koli vrednost od spremenljivke A, da dobite izhodno vrednost v isti spremenljivki. Odštejemo vrednost 100 spremenljivke A, da dobimo merljivo število.

Koda:

 Pod VBA_ByRef1 () Dim A kot celoten A = 1000 MsgBox A konec Sub Sub VBA_ByRef2 (ByRef A kot celo število) A = A - 100 konec pod 

Korak 9: Zdaj, če sestavimo vsak korak kode, bomo opazili, da je, ko je kazalec dosegel spremenljivko A, videli, da je v njej shranjenih le 0.

Korak 10: Ko je kazalec dosegel End Sub, bomo dobili izhod v polju s sporočilom kot 1000.

11. korak: Ker ByRef nismo dodelili prvi podkategoriji. Zdaj bomo podkategoriji dodelili funkcijo polja za sporočila prve podkategorije in videli, kaj se bo zgodilo.

Koda:

 Pod VBA_ByRef1 () Dim A kot celoten A = 1000 VBA_ByRef2 A MsgBox A konec Sub Sub VBA_ByRef2 (ByRef A kot celoten) A = A - 100 konec pod 

12. korak: Zdaj zaženite celotno kodo še enkrat. Videli bomo, da je druga vrednost, ki je shranjena v spremenljivki A, odšteta od prve vrednosti 1000. Kot rezultat smo dobili izhodno sporočilo kot 900.

Korak 13: To je glavna prednost uporabe ByRef-a. Ni nam treba določiti več spremenljivk za posamezno opravilo. Za izvedbo celotne naloge na različne načine je dovolj le ena spremenljivka. V enem modulu lahko uporabimo več kot en ByRef.

Za utemeljitev tega, kar smo razumeli, v isti modul dodamo še en ByRef.

Koda:

 Pod VBA_ByRef1 () Dim A kot celoten A = 1000 VBA_ByRef2 A MsgBox A konec Sub Sub VBA_ByRef2 (ByRef A kot celištevec) A = A - 100 konec Sub Sub VBA_ByRef3 (ByRef A kot celo število) End Sub 

14. korak: V tej podkategoriji uporabimo množenje.

Koda:

 Pod VBA_ByRef1 () Dim A kot celoten A = 1000 VBA_ByRef2 A MsgBox A konec Sub Sub VBA_ByRef2 (ByRef A kot celištevec) A = A - 100 konec Sub Sub VBA_ByRef3 (ByRef A kot celoten) A = A * 2 končni pod 

15. korak: Znova sestavite in zaženite kodo. Videli bomo, da se vrednost, pridobljena iz zgornjih korakov, ko je 900, pomnoži z 2, da dobimo 1800 kot proizvod.

Excel VBA ByRef - primer # 2

V tem primeru bomo videli, kako ByRef deluje z drugimi vrstami celih števil.

1. korak: Odprite modul in napišite podkategorijo, kot je prikazano spodaj.

Koda:

 Sub VBA_ByRef4 () Konec Sub 

2. korak: Spremenite spremenljivko A kot dvojno. To nam bo omogočilo uporabo decimalnih vrednosti.

Koda:

 Sub VBA_ByRef4 () Dim A kot dvojni konec Sub 

3. korak: Vsaki decimalni vrednosti dodelite spremenljivko A.

Koda:

 Sub VBA_ByRef4 () Dim A kot dvojni A = 1, 23 končni sub 

4. korak: Zdaj uporabite polje s sporočilom, da vidite vrednost, shranjeno v spremenljivki A.

Koda:

 Sub VBA_ByRef4 () Dim A kot dvojni A = 1, 23 MsgBox A End Sub 

Če zaženemo kodo, bi dobili 1, 23 kot izhod.

5. korak: Na drugačen način bomo s funkcijo definirali ByRef kot dvojno s spremenljivko A.

Koda:

 Pod VBA_ByRef4 () Dim A kot dvojni A = 1, 23 MsgBox A končna podfunkcija AddTwo (ByRef A kot dvojna) kot funkcija dvojnega konca 

6. korak: Zdaj dodajte poljubno številko spremenljivki A. Recimo, da je 10.

Koda:

 Pod VBA_ByRef4 () Dim A kot dvojni A = 1, 23 MsgBox A konec podfunkcije AddTwo (ByRef A kot dvojni) kot dvojni A = A + 10 končna funkcija 

7. korak: In ponovno uporabite to definirano funkcijo ByRef v prvi podkategoriji. Tu bomo videli dva polja s sporočilom, eno za spremenljivko A in drugo za ByRef.

Koda:

 Pod VBA_ByRef4 () Dim A kot dvojni A = 1, 23 MsgBox AddTwo (A) MsgBox A konec podfunkcije AddTwo (ByRef A kot dvojno) Kot dvojni A = A + 10 končna funkcija 

8. korak: Enako bi se odrazilo tudi v polju s sporočili.

Korak 9: V naslednji izvedbi bo dal dodano vrednost 10 v prvotno vrednost spremenljivke 1, 23, kot je prikazano spodaj.

Tako VBA Byref enkrat sprejme referenčno vrednost, definirano enkrat, in nato napolni izhod po novem pogoju.

Prednosti in slabosti VBA ByRef

  • Pri pisanju velikih kod prihranite veliko časa z upoštevanjem že definirane spremenljivke, tako da lahko njeno vrednost uporabljamo vedno znova.
  • Ni nam treba definirati veliko spremenljivk glede na formulo, ki jo želimo uporabiti.
  • V enem modulu lahko uporabimo številne pogoje ByRef, ne da bi pri tem celo motili postopek.
  • VBA Byref ne moremo uporabljati v zapleteni strukturi kode.

Stvari, ki jih je treba zapomniti

  • Pri obravnavi več kot enega pogoja ByRef bo izhod temelji na zadnjem podpostopku ByRef, ki smo ga definirali, upošteva pa tudi vse prej uporabljene pogoje ByRef.
  • Končni rezultat bo imel zaporedno obdelani izhod. Ne le najnovejšega.
  • Tega postopka ni mogoče izvesti s snemanjem makra.
  • Vrednost, shranjeno v vsaki stopnji spremenljivke, lahko vidimo, če sestavimo kodo.
  • Ko končate, shranite datoteko excel kot format excel za makro omogočeno, da v prihodnosti ne bomo izgubili kode.

Priporočeni članki

To je vodnik za VBA ByRef. Tukaj smo razpravljali o uporabi funkcije ByRef v Excelu z uporabo kode VBA skupaj s praktičnimi primeri in naložljivo predlogo excela. Če želite izvedeti več, si oglejte tudi naslednje članke -

  1. Vodnik po funkciji VBA UBound
  2. OFFSET Excel funkcija (Primer, uporabe)
  3. Ustvari hiperpovezavo v Excelu VBA
  4. Kako uporabljati ročaj za polnjenje Excela?

Kategorija: