Ejecutar macro desde otra macro

by Roger Perez  - enero 18, 2014

Como Ejecutar Macro desde otra Macro

Comencemos con el articulo del Curso Básico de VBA - Como Ejecutar Macro desde otra Macro: En los temas anteriores vimos como crear Formularios, como Ejecutarlas desde Excel.

Y si todavía no has visto el tema anterior, te invito a que lo veas pulsando clic aquí. Una vez termines de leer y aplicar los pasos del tema anterior, regresa nuevamente aquí y continua con el tema de hoy.

Hoy vamos a conocer Como llamar y Ejecutar Macro desde otra Macro.

Ejecutar Macro

Pasos para Ejecutar Macro desde otra Macro

Muchas veces nos interesa Ejecutar macro o llamar una Macro desde otra Macro.

Esto es muy útil porque si tenemos un desarrollo muy grande, para mantener ordenado el código conviene dividir la tarea en distintas Macros y luego vamos ejecutando la Macro que se necesite en cada momento.

Para llamar una Macro desde otra Macro simplemente se escribe el nombre de la Macro invocada dentro del código de la Macro principal. Por ejemplo, si ejecutamos la Macro1 y queremos que desde la misma se ejecute la Macro2 lo haríamos así:

Sub Macro1()

'El código de mi Macro1

Macro2

End Sub

Además, si queremos identificar mejor que estamos llamando una Macro desde otra Macro podemos anteponer la palabra Call.

El efecto es el mismo, solo que al anteponer la instrucción Call, la misma queda en azul automáticamente, y nos permite identificar mejor que estamos llamando otra Macro:

Sub Macro1()

'El código de mi Macro1

Call Macro2

End Sub

Macros que realizan varias funciones - Ejecutar macro

Por ejemplo, tenemos una SuperMacro que realiza la siguiente función sobre el rango seleccionado:

  • 1
    Se asigna un Formato Numérico.
  • 2
    De igual forma asigna Bordes.
  • 3
    Asigna color de relleno.

El código de la SuperMacro es el siguiente:

Sub SuperMacro()

'Asigna Formato Numérico

Selection.NumberFormat = "#,##0;[Red]#,##0"

'Asigna Bordes

With Selection.Borders

.LineStyle = xlContinuous

.Weight = xlThin

.ColorIndex = xlAutomatic

End With

'Asigna Color de Relleno

With Selection.Interior

.ColorIndex = 36

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

End With

End Sub

Simplificando Macros - Ejecutar macro

Esta SuperMacro podríamos simplificarla de tal forma que ejecute 3 MiniMacros:

Sub SuperMacro()

Call FormatoN

Call Bordes

Call Relleno

End Sub

La palabra Call se puede omitir pero recomendamos utilizarla para identificar mejor que estamos llamando otras Macros.

Como se ve en el código, la SuperMacro ejecuta 3 Macros. Estas 3 Macros deben estar ubicadas en el mismo módulo y las escribimos a continuación:

Sub FormatoN()

'Asigna Formato Numérico

Selection.NumberFormat = "#,##0;[Red]#,##0"

End Sub

Sub Bordes()

'Asigna Bordes

With Selection.Borders

.LineStyle = xlContinuous

.Weight = xlThin

.ColorIndex = xlAutomatic

End With

End Sub

Sub Relleno()

'Asigna Color de Relleno

With Selection.Interior

.ColorIndex = 36

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

End With

End Sub

Muy bien, hasta aquí con el tema de Como llamar Macro desde otra Macro, en el próximo tema vamos a ver sobre "Depuración y Errores".

Si te ha gustado el tema de hoy, te invito a que lo compartas con tus amigos de Facebook pulsando clic en el botón compartir:

Para finalizar, me gustaría saber que piensas de este articulo "Programar en Excel - Ejecutar Macro desde otra Macro".

Por lo tanto:

Déjame tu comentario con dudas, críticas constructivas y sugerencia en la sección de comentarios o bien en el Chat. Al mismo tiempo te invito a que visites nuestra pagina de Facebook, pulsando clic aquí.

Cualquier duda o pregunta, puedes escribirme directamente en la sección de comentarios, en la pagina del chat, directamente en whatsapp o bien al correo electrónico rogerperez@aplicaexcelcontable.com.

Te saluda,

Roger Perez – Aplica Excel Contable

bonus

aprende excel y contabilidad con nuestros cursos!

Gratis

Depuracion y errores de macros

Roger Perez

Experto en Contabilidad y Excel, creador del Curso Como crear tu Sistema Contable en excel y otros cursos de creacion de Plantillas Excel.
Puedes disfrutar de Plantillas gratis y avanzadas en excel creadas por Roger Perez durante mas de 13 años que Aplica Excel Contable esta online brindando informacion valiosa a los contadores.

  • si tengo mi macro en otro .xlsm, ¿cómo la llamo o invoco?…, en particular, si la tengo en personal.xlsb…cómo lo hago

  • buen día, en verdad te felicito por tus pequeños cursos que son de gran ayuda para los que tengamos la necesidad de usar lo que en ellos tratas, en mi caso estoy tratando de hacer a través de excel y publisher un control de elaboración de credenciales en la que se les pueda asignar un numero de control tomando en cuenta para dicho numero las letras del municipio y colonia o ejido donde vive la persona y un numero consecutivo general, y tus cursos me han orientado respecto al formulario de captura de datos, aunque me falta buscar la formula a utilizar para la numeración de las credenciales, de todas formas, muchas gracias por lo que nos compartes.

  • Muy buena la explicación, muy sencilla y muy útil, venia buscando como hacer esto desde hace rato. Muchas gracias

  • {"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

    Tambien te puede interesar:

    Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

    ACEPTAR
    Aviso de cookies
    >