Uvod v Excel VBA Call Sub

V VBA imamo funkcijo CALL, ki se uporablja za klicanje vrednosti, shranjenih v drugi podkategoriji ali podpostopku. Recimo, da smo kodo zapisali nekje v delovni zvezek, zdaj pa pri pisanju druge kode potrebujemo isto kodo, napisano prej. Torej lahko namesto, da ponovno napišemo isto kodo, to celotno kodo ali postopek podpokliča v trenutno podkategorijo ali postopek pod. S tem se lahko izognemo izvajanju iste dejavnosti delovnega zvezka znova in znova.

Kako pokličete Sub v Excelu VBA?

Spodaj so različni primeri za klic Sub v Excelu VBA:

Predlogo za VBA Call Sub Excel lahko prenesete tukaj - Predloga VBA Call Sub Excel

Podcellar 1 klica v Excelu VBA

Najprej si oglejmo en primer, kjer bomo KLICALI že napisano kodno podkategorijo ali postopek. Za to potrebujemo modul.

Pojdite v okno VBA in pod možnostjo Vstavi meni kliknite na Modul, kot je prikazano spodaj.

Po tem bomo dobili prazno stran ali okno Modula. Zdaj v to napišite podkategorijo kode, ki jo izvajamo, ali v katerem koli drugem imenu, kot je prikazano spodaj.

Koda:

 Sub Calling () Končaj Sub 

Zdaj uporabite ukaz polja za sporočila in v polje za sporočila vnesite besedilo ali besedo, ki jo želite videti. Tu uporabljamo " Prvo ", kot je prikazano spodaj.

Koda:

 Sub Calling () MsgBox ("First") End Sub 

Zdaj sestavite kodo in jo zaženite s klikom na gumb Predvajaj, ki je pod menijsko vrstico. Videli bomo polje s sporočilom, ki vsebuje sporočilo " Prvo ", kot je prikazano spodaj.

Zdaj po koncu v isti modul napišite drugo podkategorijo ali postopek v poljubnem imenu, kot je prikazano spodaj.

Koda:

 Prihod sub () Konec Sub 

V tem ponovno uporabite ukaz MsgBox in mu pošljite sporočilo ali besedilo po vaši izbiri. Tu smo dali “ drugo ”, kot je prikazano spodaj.

Koda:

 Prihod sub () MsgBox ("Drugi") Konec Pod 

Zdaj, če zaženemo celotno kodo, bomo dobili izhod samo zadnje podkategorije, ki je polje s sporočilom, ki vsebuje sporočilo " Second ", kot je prikazano spodaj.

Tu pride funkcija CALL, ki jo bomo uporabili za klicanje obeh sporočil. To bo uporabljeno v prvi podkategoriji.

Za to vrsto pokličite v prvi podkategoriji pred End, ki ji sledi ime podkategorije, katere kodo želimo poklicati. V nadaljevanju MsgBox uporabljamo Call, ki mu sledi Prihod, kar je podkategorija spodaj zapisane kode.

Koda:

 Sub Calling () MsgBox ("First") End Arriving End Sub Sub Subriver () MsgBox ("Second") End Sub 

Zdaj sestavite celotno kodo od začetka do konca in jo zaženite. Videli bomo polje s sporočilom, imenovano »Prvo«. Zdaj kliknite na Ok za nadaljevanje. Ko bomo to storili, bomo dobili drugo polje s sporočilom „ Drugo “, kot je prikazano spodaj. In če znova kliknete V redu, potem izstopi iz postopka.

Kaj če spremenimo položaj funkcije klica iz Pred koncem v prvi podkategorij, kot je prikazano spodaj? Zdaj zaženite celotno kodo še enkrat.

Koda:

 Sub Calling () Prihod klica MsgBox ("First") End Sub Sub Subriver () MsgBox ("Second") End Sub 

Odprlo se bo sporočilo, shranjeno v drugem podprocesu, ki je najprej " Drugi ", nato pa bo sledilo sporočilo " Prvo ", ko kliknemo V redu, kot je prikazano spodaj.

Torej je odvisno samo od tega, kateri postopek ali kategorijo želimo najprej poklicati.

Podcellar 2 za klic v Excelu VBA

Poglejmo še en primer, kjer bomo za klicanje različnih podkategorij uporabili funkcijo Call. Za to potrebujemo nov modul. Odprite modul v meniju Vstavljanje. In daje podkategorijo v katerem koli imenu, kot je prikazano spodaj.

Koda:

 Sub VBACall () Konec Sub 

V DIM-u določite 3 spremenljivke Num1, Num2 in Ans1 in jih nato dodelite z Long . Uporabljamo lahko tudi Integer ali Double, odvisno od uporabe. Dolgo nam bo omogočilo, da upoštevamo poljubno dolžino števila.

Koda:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long End Sub 

Zdaj dajte Num1 in Num2 poljubno številko po želji . Dali smo jim 100 oziroma 50 . Če upoštevamo 100 in 50, nam bo pomagalo hitro prepoznati rezultate.

Koda:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 End Sub 

Zdaj uporabite množitveno formulo, da pomnožite shranjevanje števil v Num1 in Num2 in shranite njihov odgovor v spremenljivko Ans1, kot je prikazano spodaj.

Koda:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 End Sub 

V naslednji vrstici kode bomo uporabili objekt VBA. Za to izberite list z ukazom Workheet in mu dodajte obseg katere koli celice. Za celico obsega smo izbrali B1. In končno natisnite rezultat s katerim koli imenom, kot sta rezultat ali odgovor, kot je prikazano spodaj.

Koda:

 Pod VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Worksheets (1) .Range ("B1"). Value = "Answer" End Sub 

Zdaj mu dajte lokacijo, kjer želimo videti odgovor na enak način, kot je prikazano zgoraj. Tu izberemo celico C1 kot izhodno celico in tu postavimo zadnjo spremenljivko Ans1 .

Koda:

 Pod VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Delovni listi (1) .Range ("B1"). Vrednost = "Odgovori" Delovni listi (1) .Range ("C1") Vrednost = Ans1 Končna pod 

Zdaj zaženite kodo. Rezultat množenja bomo videli v celici C1.

Pisanje druge podkategorije pod isto kodo po koncu.

Koda:

 Sub VBACall2 () End Sub 

Ponovno določite 3 spremenljivke Num3, Num4 in Ans2 v DIM-u in jih nato dodelite z Long.

Koda:

 Sub VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long End Sub 

Dajte Num3 in Num4 enaki vrednosti kot 100 in 50 in dodajte obe številki.

Koda:

 Sub VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 End Sub 

Zdaj uporabite VBA Object na podoben način, kot je bil uporabljen zgoraj in nato podajte celico v območju kot B2 za odgovor in C2 za izhod Ans2 .

Koda:

 Pod VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 Delovni listi (1) .Range ("B2"). Vrednost = "Odgovori" Delovni listi (1) .Range ("C2") Vrednost = Ans2 End Sub 

Če želite oba rezultata poklicati drug za drugim, uporabite funkcijo Call, ki mu daje ime 2. podkategorije, kot je prikazano spodaj.

Koda:

 Pod VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Delovni listi (1) .Range ("B1"). Vrednost = "Odgovori" Delovni listi (1) .Range ("C1") Vrednost = Ans1 klic VBACall2 End Sub Sub VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 Delovni listi (1) .Range ("B2" ) .Value = "Odgovori" Delovni listi (1) .Range ("C2"). Vrednost = Ans2 Končna pod 

Zdaj sestavite celotno kodo in zaženite. Prvi bomo v celici C2, dobili smo rezultat množenja in v celici C3 rezultat seštevanja.

Če poznamo pravilno zaporedje, lahko uporabimo ukaz MsgBox, kot je uporabljen v primeru 1, in si ogledamo, katere vrednosti se imenujejo v katerem zaporedju.

Prednosti Excela VBA Call Sub

  • VBA Call Sub prihrani čas za pisanje iste kode vedno znova.
  • Če pokličete shrambo podpostopkov VBA v istem excelu, se zmanjša tudi velikost datoteke excel.

Stvari, ki jih je treba zapomniti

  • V testnem namenu uporabite polje s sporočili, če si želite ogledati zaporedni zagon več kod.
  • S pritiskom na tipko F8 sestavite večje vrstice, da lahko prepoznate del napake.
  • Shranite datoteko v formatu Macro Enable Excel, da ohranite zapisano kodo.
  • Če uporabnik CALL pred koncem zažene prvo kodo, po prvem podprocesu pa prvo kodo.

Priporočeni članki

To je vodnik za VBA Call Sub. Tukaj razpravljamo, kako pokličete Sub v Excelu VBA, skupaj s praktičnimi primeri in naloženo predlogo Excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. VBA Do Loop
  2. SUBTOTALNA formula v Excelu
  3. VBA Medtem ko je zanka
  4. Funkcija podvrsti Excela

Kategorija: