Táboa de contidos
Neste artigo mostrarei como podes chamar a un Sub desde outro Sub ou a Función en VBA en Excel . Aprenderás a chamar a Sub con ou sen argumentos, así como a Público e Privado Sub .
Como chamar a un sub en VBA en Excel (vista rápida)
Nota: Aquí un Sub chamado Sub2 chama a un Sub chamado Sub1 .
Descargar libro de prácticas
VBA Call Sub.xlsm
Descarga este libro de prácticas para exercer a tarefa mentres le este artigo.
4 xeitos de chamar a un sub en VBA en Excel
Aquí temos un Sub en VBA chamado Sub1 .
Se executas Sub1 , recibirás a mensaxe “Sub1 is Run.”
Hoxe o noso obxectivo é aprender como podemos chamar a isto Sub doutro Sub ou Función de todas as formas posibles.
1. Chamar un sub sen argumentos doutro sub en VBA en Excel
Primeiro, chamaremos un Sub sen ningún argumento doutro Sub en VBA .
Aquí, Sub1 é o Sub sen argumentos.
Agora chamaremos ao Sub Sub1 doutro Sub chamado Sub2 .
Para chamar ao Sub Sub1 desde outro Sub , ten que para usar a liña de código:
Sub1
Ou
Call Sub1
Agora se executa Sub2 ,Chamarase Sub1 e amosarase a mensaxe “Sub1 is Run.” .
2. Chamar un sub con argumentos doutro sub en VBA en Excel
Agora chamaremos un Sub con argumentos doutro Sub en VBA .
Aquí cambiamos o Sub Sub1 de tal xeito que conteña un argumento chamado Input_Value , e cando executar, mostra ese argumento.
Para chamar a este Sub desde outro Sub ( Sub2 ), temos que usar a liña de código:
Sub1(Input_Value)
Ou
Call Sub1(Input_Value)
Aquí usamos:
Call Sub1(10)
Agora, cando executemos Sub2 , chamarase a Sub1 coa entrada 10 e mostrarase 10 nun Caixa de mensaxes .
Lecturas similares:
- Como devolver un valor en función VBA (valores tanto de matriz como de non matriz)
- Usar a función LCase en VBA en Excel (con 4 exemplos)
- Como Use a función VBA SPLIT en Excel (5 exemplos)
- Use a función TRIM en VBA en Excel (definición + código VBA)
3. Chamar a un Sub con/sen argumentos desde unha función definida polo usuario en VBA en Excel
Tamén pode chamar a un Sub desde unha Función definida polo usuario en VBA .
⧭ Sub sen argumentos
Chamemos primeiro un Sub sen argumentos .
Aquí volvemos a cambiaro Sub Sub1 ao sen argumentos.
Agora crearemos unha Función chamada Función1 e chame a Sub1 desde esa función.
Para chamar a Sub desde unha función, a liña de código que se vai utilizar é a mesma :
Sub1
Ou
Call Sub1
Agora, se inseris Función1 en calquera cela da túa folla de traballo, chamarase a Sub1 e aparecerá unha Caixa de mensaxes mostrará “Sub1 está en execución.” .
⧭ Sub con argumentos
Tamén pode chamar a Sub con argumentos dunha Función definida polo usuario en VBA en Excel .
Aquí cambiamos de novo Sub1 polo que ten argumentos.
Agora chamamos Sub1 de Función1 pola liña de código:
Call Sub1(10)
Agora se inserimos Función1 en calquera cela da nosa folla de traballo, mostrará 10 nunha Caixa de mensaxes .
4. Chamar un sub privado desde outro sub ou función en VBA en Excel
Ata agora, chamábamos un Sub público doutro Sub ou Función . Esta vez, mostraremos como podes chamar a un Sub privado desde outro Sub ou a Función en VBA .
⧭ Chamando desde un subterráneo:
Só pode chamar a un Sub privado desde outro Sub se dous están no mesmo módulo da súa xanela VBA .
Aquícambiamos Sub1 a Private Sub engadindo o termo Privado na primeira liña. E chamouna desde Sub2 que está no mesmo módulo.
Agora se executas Sub2 , obterás un Caixa de mensaxes que mostra 10 .
⧭ Chamada desde unha función:
O mesmo para as funcións. Para chamar a un Sub privado desde unha Función en VBA , o Sub e a Función deben estar na mesmo módulo.
Aquí inserimos o Private Sub Sub1 e a Function Function1 no mesmo módulo.
Agora, se inserimos Función1 en calquera cela da nosa folla de traballo, unha Caixa de mensaxes mostrará 10 .
Resumo
Aquí está o resumo de todos os puntos discutidos hoxe:
- Podes chamar a un Sub doutra Sub ou Función definida polo usuario en VBA utilizando o termo “Chamada” co nome do Sub , ou simplemente poñendo o nome do Sub .
- Se o Sub que se vai chamar contén un argumento , ten que chamar a Sub con calquera valor dese argumento .
- Se o Sub que se vai chamar é declarado como un Privado , debes chamalo desde outro Sub ou Función do mesmo módulo.
Conclusión
Utilizando estes métodos, podes chamar a un Sub desde outro Sub ou a Función en VBA en Excel. Tes algunha dúbida? Non dubides en preguntarnos.