Introducere în Excel VBA Sub

În VBA, avem o funcție ca CALL, care este folosită pentru apelarea valorilor stocate într-o altă subcategorie sau procedură Sub. Să presupunem că am scris un cod undeva într-o carte de lucru, acum în timp ce scriem un alt cod avem nevoie de același cod scris mai devreme. Deci, în loc să scriem din nou același cod, putem apela acel cod complet sau procedură Sub în actuala Subcategorie sau procedura Sub. Prin aceasta, puteți evita să faceți din nou aceeași activitate a cărții de lucru.

Cum să apelați Sub în Excel VBA?

Mai jos sunt diferite exemple pentru a apela Sub în Excel VBA:

Puteți descărca acest șablon sub Excel pentru apeluri VBA de aici - șablonul sub-apel VBA sub Excel

Sub-apel de Excel VBA - Exemplul # 1

În primul rând, haideți să vedem un singur exemplu în care vom APELA deja subcategoria sau procedura de cod scrisă. Pentru aceasta, avem nevoie de un modul.

Accesați fereastra VBA și sub opțiunea Insert meniu faceți clic pe Modul, așa cum se arată mai jos.

După aceea, vom primi o pagină sau o fereastră goală a modulului. Acum scrieți o subcategorie de cod pe care o executăm sau în orice alt nume, așa cum se arată mai jos.

Cod:

 Sub apelare () Terminare sub 

Acum folosiți o comandă a casetei de mesaje și tastați orice text sau cuvânt pe care doriți să-l vedeți în caseta de mesaje. Aici folosim „ Primul ” așa cum se arată mai jos.

Cod:

 Sub apelare () MsgBox ("Primul") End Sub 

Acum compilați codul și executați-l făcând clic pe butonul Redare, care se află sub bara de meniu. Vom vedea o casetă de mesaj care conține mesajul „ Primul ”, așa cum se arată mai jos.

Acum după sfârșitul aceluiași modul, scrieți o altă subcategorie sau procedură în orice nume, așa cum se arată mai jos.

Cod:

 Sub Sosire () Sfârșit Sub 

În acest lucru, folosiți din nou comanda MsgBox și dați-i mesajul sau textul după alegerea voastră. Aici i-am dat „ Al doilea ” așa cum se arată mai jos.

Cod:

 Sub Arriving () MsgBox ("Second") End Sub 

Acum, dacă rulăm codul complet, atunci vom obține doar ultima subcategorie care este o casetă de mesaje care conține mesajul „ Al doilea ”, așa cum se arată mai jos.

Aici vine funcția CALL, pe care o vom folosi pentru a numi ambele mesaje unul câte unul. Aceasta va fi folosită în prima subcategorie.

Pentru acest tip Apelați în prima subcategorie înainte de End, urmată de numele acelei subcategorii al căror cod dorim să-l apelăm. În continuare, MsgBox folosim apelul urmat de Sosire, care este numele subcategoriei codului scris mai jos.

Cod:

 Sub apelare () MsgBox ("Prima") Apelare Sosire Final Sub Sub Sosire () MsgBox ("A doua") Final Sub 

Acum compilați codul complet de la început până la sfârșit și rulați-l. Vom vedea căsuța de mesaje denumită cu mesajul „Prima”. Acum faceți clic pe Ok pentru a continua. După ce facem asta, vom primi a doua casetă de mesaj care conține mesajul „ Al doilea ”, așa cum se arată mai jos. Și dacă faceți clic pe Ok din nou, atunci va ieși din procedură.

Ce se întâmplă dacă schimbăm poziția funcției de apel de la înainte de End până la prima Subcategorie, așa cum se arată mai jos? Acum, să rulați din nou codul complet.

Cod:

 Sub apelare () Apelare sosire MsgBox ("Prima") Finalizare Sub Sub Sosire () MsgBox ("A doua") Final Sub 

Va apărea mesajul stocat în a doua subprocedură mai întâi, care este „ Second ”, urmat de mesajul „ First ” când facem clic pe Ok, așa cum se arată mai jos.

Așadar, depinde de noi, la ce Sub procedură sau categorie dorim să apelăm mai întâi.

Sub-apel VBA Excel - Exemplul # 2

Să vedem un alt exemplu în care vom folosi o funcție de apelare pentru a apela diferite subcategorii. Pentru aceasta, avem nevoie de un nou modul. Deschideți un modul din meniul Insert. Și dă o Subcategorie în orice nume, așa cum se arată mai jos.

Cod:

 Sub VBACall () End Sub 

Definiți 3 variabile Num1, Num2 și Ans1 în DIM și atribuiți apoi cu Long . Putem folosi și Integer sau Double, în funcție de utilizarea cuiva. Mult timp ne va permite să luăm în considerare orice lungime a numărului.

Cod:

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

Acum, dați Num1 și Num2 orice număr la alegere. Le-am dat 100, respectiv 50 . Având în vedere 100 și 50 ne va ajuta să identificăm rapid ieșirea.

Cod:

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

Utilizați acum formula de înmulțire pentru a multiplica stocurile de numere în Num1 și Num2 și stocați răspunsul lor în variabila Ans1, așa cum se arată mai jos.

Cod:

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

În următoarea linie de cod, vom folosi obiectul VBA. Pentru aceasta, selectați foaia cu foaia de lucru și dați-i o gamă oricărei celule. Am selectat celula interval B1. Și în cele din urmă imprimați rezultatul cu orice nume, precum Rezultat sau Răspuns, așa cum se arată mai jos.

Cod:

 Sub 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 = "Reply" End Sub 

Dă-i acum locația în care vrem să vedem răspunsul în același mod ca cel arătat mai sus. Aici alegem celula C1 ca celulă de ieșire și punem aici ultima variabilă Ans1 .

Cod:

 Sub 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 = "Reply" Feheets (1) .Range ("C1"). Valoare = Ans1 End Sub 

Acum rulați codul. Vom vedea un rezultat de înmulțire la celula C1.

Scrierea unei alte subcategorii sub același cod după End.

Cod:

 Sub VBACall2 () End Sub 

Din nou definiți 3 variabile Num3, Num4 și Ans2 în DIM și atribuiți apoi cu Long.

Cod:

 Sub VBACall2 () Dim Num3 Atât Dim Dim4 Cat Long Dim Ans2 Ca Long End Sub 

Dati Num3 si Num4 aceleasi valori ca 100 si 50 si adaugati ambele numere.

Cod:

 Sub VBACall2 () Dim Num3 Atât Dim Dim Num4 Cât Dim Dim Ans2 La Long Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 End Sub 

Utilizați acum obiectul VBA într-un mod similar cu cel de mai sus și dați apoi celulei de gamă ca B2 pentru răspuns și C2 pentru ieșirea Ans2 .

Cod:

 Sub VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 Worksheets (1) .Range ("B2"). Value = "Reply" Feheets (1) .Range ("C2"). Valoare = Ans2 End Sub 

Pentru a apela ambele rezultate unul câte unul, utilizați funcția Apel, îi dă numele de a doua subcategorie, așa cum se arată mai jos.

Cod:

 Sub 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 = "Reply" Feheets (1) .Range ("C1"). Valoare = Ans1 Apel VBACall2 End Sub Sub VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 Worksheets (1). Range ("B2" ) .Value = "Răspuns" Fișele de lucru (1) .Range ("C2"). Value = Ans2 End Sub 

Acum compilați întregul cod și rulați. Vom face primul la celula C2, am obținut rezultatul înmulțirii și la celula C3, rezultat al adăugării.

Pentru a cunoaște secvența potrivită, putem folosi comanda MsgBox așa cum este utilizată în Exemplul 1 și pentru a vedea ce valori numite la ce secvență.

Beneficiile Excelului VBA Sub

  • VBA Call Sub economisește timp la scrierea aceluiași cod din nou și din nou.
  • Apelarea la magazinul de proceduri VBA în același excel reduce și dimensiunea fișierului excel.

Lucruri de amintit

  • Utilizați caseta de mesaje pentru testare pentru a vedea rularea secvențială a mai multor coduri.
  • Compilați liniile de cod mai mari apăsând tasta F8, astfel încât partea de eroare să poată fi identificată.
  • Salvați fișierul în format Macro Enable Excel pentru a păstra codul scris.
  • Utilizarea CALL înainte de End va rula primul cod întâi și după prima Subprocedure va rula primul al doilea cod.

Articole recomandate

Acesta este un ghid pentru VBA Call Sub. Aici vom discuta despre cum să apelați Sub în Excel VBA împreună cu exemple practice și șablon Excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -

  1. VBA Faceți până la Buclă
  2. SUBTOTAL Formula în Excel
  3. VBA În timp ce buclă
  4. Substring Funcție Excel

Categorie: