Curso Excel VBA y Macros – Cap. 29 – Cómo ejecutar macros guardadas en otros archivos de Excel
En este video tutorial veremos la manera de poder ejecutar macros que están guardadas en otro archivo de Excel. Veremos dos maneras de poder ejecutarlas:
- Abrir el archivo y llamar sus macros.
- Crear una referencia hacia el archivo que contiene las macros que deseamos ejecutar.
También veremos en qué momentos usamos la instrucción Call y en qué momento el método Run.
Ver video Capítulo 29 Excel VBA & Macros
Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.
Macro para convertir texto a mayúsculas
Como deseamos mandar llamar macros de un archivo a otro, lo primero que debemos de tener es un archivo que aloje la macro para cambiar un rango seleccionado a mayúsculas. Crearemos el archivo y le pondremos de nombre Convertir a MAYUSC.xlsm.
En este archivo guardaremos la siguiente macro:
Option Explicit 'EXCELeINFO 'MVP Sergio Alejandro Campos 'http://www.exceleinfo.com 'https://www.youtube.com/user/sergioacamposh 'http://blogs.itpro.es/exceleinfo Sub MAYUSCULAS() Dim Celda As Range For Each Celda In Selection Celda.Value = VBA.UCase(Celda.Value) Next Celda End Sub
Mandar llamar macros de otro archivo usando Run
Una vez que tenemos el archivo con la macro para convertir a mayúsculas, tenemos otro archivo en el cual tendremos una macro que abrirá dicho archivo y ejecutaremos la macro MAYUSCULAS.
Para ejecutar la macro guardada en otro archivo, primero debemos tenerlo abierto, la siguiente macro realizará los siguientes pasos:
- Abrirá el archivo Convertir a MAYUSC.xlsm.
- Ejecutará la macro MAYUSCULAS usando el método Run.
- Cerrará el archivo.
Option Explicit Sub EjecutarMacroOtroArchivo() Dim Nombre As String Workbooks.Open "C:\Users\Sergio Campos\Documents\Convertir a MAYUSC.xlsm" Nombre = ActiveWorkbook.Name Application.Workbooks("029 - Ejecutar macros o procedimientos de otros archivos - EXCELeINFO.xlsm").Activate Application.Run "'Convertir a MAYUSC.xlsm'!MAYUSCULAS" Application.Workbooks(Nombre).Close False End Sub
Ejecutar macros de otro archivo creando una Referencia
Otra manera de ejecutar macros dese otro archivo es creando una Referencia a dicho archivo. Crearemos la referencia dentro del IDE o VBE de VBA.
- Dentro del VBE, elegimos en la parte izquierda el archivo Convertir a MAYUSC.xlsm.
- Damos clic derecho y elegimos Propiedades VBAProject.
- El Nombre de proyecto ingresamos MAYUSC.
- Aceptar.
- Elegimos el archivo 029 – Ejecutar macros o procedimientos de otros archivos – EXCELeINFO.xlsm.
- Dentro del IDE de VBA nos vamos al menú Herramientas > Referencias.
- Dentro de la lista marcamos MAYUSC.
- Aceptar.
Una vez creada la referencia, en la parte izquierda, dentro del archivo 029… veremos una carpeta llamada Referencias.
Al crear la referencia al archivo de la macro MAYUSCULAS podremos llamar a sus macros solo con escribir el nombre de la macro o usando la instrucción Call, el nombre del proyecto y el nombre de la macro.
Sub Prueba() MAYUSCULAS Call MAYUSC.MAYUSCULAS Call MAYUSCULAS End Sub
Descarga el archivo de ejemplo
029 – Ejecutar macros o procedimientos de otros archivos – EXCELeINFO.zip
Si te gustó este tutorial por favor regístrate en nuestra Lista de correo y Suscríbete a nuestro canal de YouTube para que estés siempre enterado de lo nuevo que publicamos.