Cum să apelați un Sub în VBA în Excel (4 exemple)

  • Imparte Asta
Hugh West

În acest articol, vă voi arăta cum puteți apela un fișier Sub de la altul Sub sau Funcția în VBA în Excel Vei învăța să chemi un Sub cu sau fără argumente, precum și atât Public și Privat Rezerve .

Cum să apelați un subprogram în VBA în Excel (Vizualizare rapidă)

Notă: Aici o Sub numit Sub2 apelează un Sub numit Sub1 .

Descărcați caietul de practică

VBA Call Sub.xlsm

Descărcați această carte de practică pentru a vă exersa sarcina în timp ce citiți acest articol.

4 moduri de a apela un subprogram în VBA în Excel

Aici avem un Sub în VBA numit Sub1 .

Dacă executați Sub1 , veți primi mesajul "Sub1 is Run."

Obiectivul nostru de astăzi este să învățăm cum putem numi acest lucru Sub de la altul Sub sau Funcția în toate modurile posibile.

1. Chemați un Sub fără argumente de la un alt Sub în VBA în Excel

În primul rând, vom apela un Sub fără niciun argument din partea unui alt Sub în VBA .

Aici, Sub1 este Sub fără argumente.

Acum vom apela la Sub Sub1 de la altul Sub numit Sub2 .

Pentru a apela la Sub Sub1 de la altul Sub , trebuie să folosiți linia de cod:

Sub1

Sau

Apel Sub1

Acum, dacă tu... rulează Sub2 , Sub1 va fi apelat și mesajul "Sub1 is Run." va fi afișată.

2. Apelarea unui sub cu argumente de la un alt sub în VBA în Excel

Acum vom apela un Sub cu argumente din altă Sub în VBA .

Aici am schimbat Sub Sub1 în așa fel încât să conțină un argument numit Valoare_intrare și, atunci când este rulat, afișează argumentul respectiv.

Pentru a numi acest lucru Sub de la altul Sub ( Sub2 ), trebuie să folosim linia de cod:

Sub1(Valoare_intrare)

Sau

Apelarea Sub1(Input_Value)

Aici, am folosit:

Apel Sub1(10)

Acum, când vom rula Sub2 , Sub1 va fi apelat cu datele de intrare 10 , și 10 vor fi afișate într-un Caseta de mesaje .

Lecturi similare:

  • Cum se returnează o valoare în funcția VBA (atât valori din tablouri, cât și valori din afara tablourilor)
  • Utilizați funcția LCase în VBA în Excel (cu 4 exemple)
  • Cum se utilizează funcția VBA SPLIT în Excel (5 exemple)
  • Utilizați funcția TRIM în VBA în Excel (Definiție + Cod VBA)

3. Apelarea unui Sub cu/fără argumente dintr-o funcție definită de utilizator în VBA în Excel

De asemenea, puteți apela un Sub de la un Funcție definită de utilizator în VBA .

Sub fără argumente

Să numim un Sub fără argumente mai întâi.

Aici am schimbat din nou Sub Sub1 la cea fără argumente.

Acum vom crea un fișier Funcția numit Funcția1 și sunați Sub1 din funcția respectivă.

Pentru a apela un Sub dintr-o funcție, linia de cod care trebuie utilizată este aceeași:

Sub1

Sau

Apel Sub1

Acum, dacă introduceți Funcția1 în orice celulă din foaia de calcul, Sub1 va fi apelat și se va crea un Caseta de mesaje va afișa "Sub1 is Run." .

Sub cu Argumente

De asemenea, puteți apela un Sub cu argumente de la un Funcție definită de utilizator în VBA în Excel .

Aici am schimbat Sub1 la cel cu argumente din nou.

Acum am numit Sub1 de la Funcția1 prin linia de cod:

Apel Sub1(10)

Acum, dacă introducem Funcția1 în orice celulă din foaia noastră de calcul, se va afișa 10 într-o Caseta de mesaje .

4. Apelarea unui sub privat din alt sub sau funcție în VBA în Excel

Până acum, am numit un Public Sub de la altul Sub sau Funcția De data aceasta, vom arăta cum puteți apela un fișier Private Sub de la altul Sub sau Funcția în VBA .

Apelarea de la un submarin:

Puteți apela doar un Private Sub de la altul Sub în cazul în care cele două se află în același modul din VBA fereastră.

Aici am schimbat Sub1 la un Private Sub prin adăugarea termenului Privat în prima linie și a fost apelat din Sub2 care se află în același modul.

Acum, dacă executați Sub2 , veți primi un Caseta de mesaje afișarea 10 .

Apelarea de la o funcție:

Același lucru pentru funcții. Pentru a apela o funcție Private Sub de la un Funcția în VBA , a Sub și Funcția trebuie să se afle în același modul.

Aici am inserat Private Sub Sub1 și Funcție Funcție1 în același modul.

Acum, dacă introducem Funcția1 în orice celulă din foaia noastră de calcul, o Caseta de mesaje va afișa 10 .

Rezumat

Iată un rezumat al tuturor punctelor discutate astăzi:

  • Puteți apela un Sub de la altul Sub sau Funcție definită de utilizator în VBA prin utilizarea termenului "Call" cu numele Sub , sau pur și simplu punând numele Sub .
  • În cazul în care Sub care urmează să fie apelat conține un argument , trebuie să apelați la Sub cu orice valoare a acelui argument .
  • În cazul în care Sub care urmează să fie apelată este declarată ca un Privat una, trebuie să o apelați din altă Sub sau Funcția din același modul.

Concluzie

Cu ajutorul acestor metode, puteți apela un Sub de la altul Sub sau Funcția în VBA Dacă aveți întrebări, nu ezitați să ne întrebați.

Hugh West este un trainer și analist Excel cu o experiență de peste 10 ani în industrie. Deține o diplomă de licență în contabilitate și finanțe și un master în administrarea afacerilor. Hugh are o pasiune pentru predare și a dezvoltat o abordare unică de predare care este ușor de urmărit și de înțeles. Cunoștințele sale experte despre Excel au ajutat mii de studenți și profesioniști din întreaga lume să-și îmbunătățească abilitățile și să exceleze în cariera lor. Prin blogul său, Hugh își împărtășește cunoștințele lumii, oferind tutoriale gratuite Excel și instruire online pentru a ajuta persoanele și companiile să-și atingă întregul potențial.