Com trucar a un sub en VBA a Excel (4 exemples)

  • Comparteix Això
Hugh West

En aquest article, us mostraré com podeu trucar a un Sub des d'un altre Sub o Funció a VBA a Excel . Aprendràs a trucar a un Sub amb o sense arguments, així com a Públic i Privat Sub .

Com trucar a un sub en VBA a Excel (vista ràpida)

Nota: Aquí un Sub anomenat Sub2 crida a un Sub anomenat Sub1 .

Baixa el llibre de pràctiques

VBA Call Sub.xlsm

Descarregueu aquest llibre de pràctiques per exercir la tasca mentre llegiu aquest article.

4 maneres de trucar a un sub en VBA a Excel

Aquí tenim un Sub a VBA anomenat Sub1 .

Si executeu Sub1 , rebreu el missatge "Sub1 is Run."

Avui el nostre objectiu és aprendre com podem anomenar aquest Sub des d'un altre Sub o Funció de totes les maneres possibles.

1. Truqueu un sub sense arguments d'un altre sub en VBA a Excel

Primer, anomenarem un Sub sense cap argument d'un altre Sub a VBA .

Aquí, Sub1 és el Sub sense arguments.

Ara anomenarem el Sub Sub1 des d'un altre Sub anomenat Sub2 .

Per trucar al Sub1 des d'un altre Sub , heu de per utilitzar la línia de codi:

Sub1

O

Call Sub1

Ara si executeu Sub2 ,Es cridarà Sub1 i es mostrarà el missatge “Sub1 is Run.” .

2. Truqueu un sub amb arguments d'un altre sub en VBA a Excel

Ara anomenarem un Sub amb arguments d'un altre Sub a VBA .

Aquí hem canviat el Sub Sub1 de tal manera que conté un argument anomenat Input_Value , i quan executa, mostra aquest argument.

Per cridar aquest Sub des d'un altre Sub ( Sub2 ), hem d'utilitzar la línia de codi:

Sub1(Input_Value)

O

Call Sub1(Input_Value)

Aquí hem utilitzat:

Call Sub1(10)

Ara, quan executem Sub2 , es cridarà Sub1 amb l'entrada 10 i es mostrarà 10 en un Quadre de missatges .

Lectures similars:

  • Com retornar un valor a la funció VBA (tant valors de matriu com de no matriu)
  • Utilitzeu la funció LCase a VBA a Excel (amb 4 exemples)
  • Com Utilitzeu la funció VBA SPLIT a Excel (5 exemples)
  • Utilitzeu la funció TRIM a VBA a Excel (definició + codi VBA)

3. Truqueu a un sub amb/sense arguments des d'una funció definida per l'usuari a VBA a Excel

També podeu trucar a un sub des d'una funció definida per l'usuari a VBA .

Sub sense arguments

Primer anomenem un Sub sense arguments .

Aquí hem tornat a canviarel Sub Sub1 al que no té arguments.

Ara crearem una Funció anomenada Function1 i crida a Sub1 des d'aquesta funció.

Per cridar a Sub des d'una funció, la línia de codi que s'utilitzarà és la mateixa :

Sub1

O

Call Sub1

Ara, si inseriu Funció1 a qualsevol cel·la del vostre full de treball, es trucarà a Sub1 i un Quadre de missatge mostrarà “Sub1 is Run.” .

Sub amb arguments

També podeu cridar un Sub amb arguments d'una Funció definida per l'usuari a VBA a Excel .

Aquí hem tornat a canviar Sub1 pel que té arguments.

Ara hem anomenat Sub1 de Funció1 per la línia de codi:

Call Sub1(10)

Ara si inserim Funció1 a qualsevol cel·la del nostre full de treball, es mostrarà 10 en un Quadre de missatge .

4. Truqueu a un sub privat des d'un altre sub o funció a VBA a Excel

Fins ara, hem anomenat un sub públic des d'un altre sub o Funció . Aquesta vegada, us mostrarem com podeu trucar a un Sub privat des d'un altre Sub o Funció a VBA .

Trucada des d'un sub:

Només podeu trucar a un Sub privat des d'un altre Sub si dos es troben al mateix mòdul de la vostra finestra VBA .

Aquíhem canviat Sub1 per un Privat Sub afegint el terme Privat a la primera línia. I el va cridar des de Sub2 que es troba al mateix mòdul.

Ara, si executeu Sub2 , obtindreu un Quadre de missatge que mostra 10 .

Trucada des d'una funció:

El mateix per a les funcions. Per trucar a un Sub privat des d'una Funció a VBA , el Sub i la Funció han d'estar a la mateix mòdul.

Aquí hem inserit el Private Sub Sub1 i la Function Function1 al mateix mòdul.

Ara, si inserim Funció1 a qualsevol cel·la del nostre full de treball, un Quadre de missatge mostrarà 10 .

Resum

Aquí teniu el resum de tots els punts tractats avui:

  • Podeu trucar a un Sub d'una altra Sub o Funció definida per l'usuari a VBA utilitzant el terme “Call” amb el nom del Sub , o simplement posant el nom del Sub .
  • Si el Sub que cal cridar conté un argument , heu de cridar el Sub amb qualsevol valor d'aquest argument .
  • Si el Sub que cal cridar es declara com a Privat , l'has de trucar des d'un altre Sub o Funció del mateix mòdul.

Conclusió

Usant aquests mètodes, podeu trucar a un Sub des d'un altre Sub o Funció a VBA a Excel. Té vostè alguna pregunta? No dubteu a preguntar-nos.

Hugh West és un entrenador i analista d'Excel molt experimentat amb més de 10 anys d'experiència en el sector. És llicenciat en Comptabilitat i Finances i Màster en Administració i Direcció d'Empreses. Hugh té una passió per l'ensenyament i ha desenvolupat un enfocament pedagògic únic que és fàcil de seguir i entendre. El seu coneixement expert d'Excel ha ajudat a milers d'estudiants i professionals de tot el món a millorar les seves habilitats i a destacar en les seves carreres. A través del seu bloc, Hugh comparteix els seus coneixements amb el món, oferint tutorials d'Excel gratuïts i formació en línia per ajudar les persones i les empreses a assolir tot el seu potencial.