Taula de continguts
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.