fbpx Saltar al contenido

Ejecutar automáticamente una macro en Excel

1.Crear macro que se ejecutará al abrir el archivo Excel.

2.Damos Clic en el elemento ThisWorkbook.

3.Cambiamos de General a Workbook en la barrita de Objetos. (Esto lo que hace es que todo lo que se coloque en esa macro se ejecutará cuando se abra el archivo)

4.Asignamos la macro que deseamos que se ejecute, ejemplo:

Private Sub Workbook_Open() Buscar_Nombres ‘ Se coloca el nombre de la macro que se va a ejecutar. Aquí se cambia por la macro que quieres que se ejecute. ThisWorkbook.Save ‘ Para guardar el archivo. ThisWorkbook.Close ‘ Para cerrar el archivo. End Sub

5.Si tu configuración de Excel tiene deshabilitadas las macros por temas de seguridad, deben hacer lo siguiente:

Archivo ➡️ Opciones ➡️ Centro de Confianza ➡️ Configuración del centro de confianza ➡️ Ubicaciones de Confianza ➡️ Agregar Nueva ubicación ➡️ Y ahí pegamos la ruta donde esta guardado el archivo Excel que vamos a ejecutar ➡️ y ACEPTAR. (y también le damos ACEPTAR a las dos siguientes ventanas

6.Ahora vamos a crear un archivo .BAT: 6.1.Abrimos un bloc de notas.

6.2.Pegamos la ruta de origen de Excel de tu PC, y para esto hacemos lo siguiente: Presionamos la tecla ventanita de Windows ➡️ Todos los programas ➡️ buscamos el icono de Excel ➡️ le damos Clic derecho sobre el icono de Excel ➡️ se abre un explorador ➡️ seleccionamos Excel y le damos clic derecho PROPIEDADES ➡️ y copiamos la ruta en donde se encuentra el ejecutable de EXCEL de tu PC ➡️ y esa ventana ya la podemos cerrar.

6.3.Vamos al BLOC de NOTAS que acabamos de abrir ➡️ pegamos la ruta de origen de Excel ➡️ HACE UN ESPACIO CON LA BARRA ESPACIADORA ➡️ ahora Copiamos y pegamos ENTRE COMILLAS la ruta de la carpeta en donde esta guardado el archivo EXCEL que vamos a ejecutar ➡️ COLOCAMOS UN SLASH INVERTIDO \ ➡️y en seguida colocamos el nombre del archivo Excel con la extensión del archivo (ejemplo: .xls o .xlsm, etc) ➡️ y como ya le dimos la orden de abrir y ejecutar ahora colocamos: application.quit para que cierre ➡️ Luego guardamos el bloc de notas en la carpeta de su preferencia con un nombre sin espacios y con la extensión .bat ➡️ ➡️y listo ya tenemos el punto .bat terminado.

Ejemplo de lo deben colocar en el archivo .bat : “Ruta origen de Excel de tu pc” “Ruta del Excel a ejecutar\Nombre del archivo.xlsm” application.quit

7.Ahora vamos a utilizar la herramienta de programación de tareas de Windows:

En el buscador de windows colocan la palabra programador y de inmediato sale: Programador de tareas de Windows ➡️ Crear tarea básica ➡️ Le asignamos un nombre a la tarea ➡️ seleccionamos la periodicidad (diario, semanal, etc.) ➡️ Seleccionamos la fecha y hora de comienzo de la ejecución ➡️ luego le damos la opción de iniciar un programa ➡️ Seleccionamos el archivo .bat que acabamos de crear ➡️ siguiente ➡️ y finalizar.

HASTA AQUÍ YA TIENES EL EJECUTABLE Y LO PUEDES DEJAR HASTA AQUÍ, PERO SI QUIERES QUE SE CIERRE LA VENTANA NEGRA O MC-DOS REALIZA EL SIGUIENTE PUNTO:

PUNTO OPCIONAL: 8.Si quieres ejecutar un archivo .BAT sin que se abra la venta de DOS o MS-DOS, debemos crear un archivo .vbs

8.1. Abra un Bloc de Notas, copie y pegue el siguiente código y y modifique lo que esta en mayúscula:

Dim WinScriptHost
Set WinScriptHost = CreateObject(“WScript.Shell”)
WinScriptHost.Run Chr(34) & “RUTA DE LA CARPETA DONDE ESTÁ EL .BAT PARA EJECUTAR\ABRIREXCEL.BAT” & Chr(34), 0 Set WinScriptHost = Nothing

8.2. le coloca un nombre al archivo sin espacios y sin tildes y le asigna la extensión .vbs

9.Ahora como necesitamos editar la tarea que teníamos creada, ya que ahora tiene que ejecutar un .vbs y no el .bat, debemos: Seleccionar la tarea, darle clic derecho, propiedades, pestaña Acciones, Editar, y En la pestaña Programa o Script colocan: cscript.exe , en Agregar argumentos: pega la “ruta en donde esta el archivo .vbs\nombre del archivo .vbs con extensión”

Y LISTO, YA TIENES TU TAREA PROGRAMADA SIN QUE SALGA LA VENTANA NEGRA O MCDOS.


Otro Tips: Si necesitamos modificar la macro al abrir un workbook.open:

1.En el explorador se selecciona el archivo Excel que deseas abrir y con la tecla Shift presionada le das doble clic. Y listo se bloquean las macros de apertura.

2. Abre Excel, Archivo ➡️ Abrir , Seleccionar el libro y dar Aceptar manteniendo la tecla Shift pulsada.

3.Otra solución es crear un libro aparte con estas dos macros:

Sub BorrarMacrosDeInicio()
Application.EnableEvents = False
End Sub

Sub ActivarMacrosDeInicio ()
Application.EnableEvents = True
End Sub

Ejecuta BorrarMacrosDeInicio y después abre el libro yendo a la pestaña Archivo ➡️ luego abrir ➡️ y listo.

OJO, pero antes de cerrar por favor ejecuta ActivarMacrosDeInicio, porque sino, no podrás ejecutar ninguna macro del archivo hasta que reinicies Excel.