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.
https://youtu.be/7YKMfXszPvE
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:UsersSergio CamposDocumentsConvertir 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.
