Ejecutar una macro en Excel al abrir un libro o archivo

Inicio » Excel para contadores. » (12 / 06 / 2010 )

Cuando se desarrollan aplicaciones en Excel, en algunos casos es necesario que al abrir un libro o archivo, se ejecute de forma automática una macro para que cumpla determinada tarea. Veamos cómo se logra.

En primer lugar crearemos una macro de ejemplo que salude al usuario al abrir al archivo y la llamaremos precisamente “Saludo”:

Sub Saludo()

Mensaje1 = MsgBox("Hola, amigo(a) usuario(a)", vbInformation, "Gerencie.com")

Mensaje2 = MsgBox("Que tengas un buen día", , "Gerencie.com")

End Sub

Vea cómo donde crear una macro

Una vez creada nuestra macro, que en su caso será una diferente según la tarea que quiera realizar, abrimos la herramienta de Excel llamada “Visual Basic” [En el documento anterior se explica cómo llegar a ella, incluyendo ilustraciones].

Una vez abierto Visual Basic, en el menú de la izquierda encontramos una opción llamada “ThisWorkBook”. Damos clic allí y escribimos lo siguiente:

Private Sub Workbook_Open()

Nombre de la macro

End Sub

Como nuestra macro se llama Saludo, el código quedará así:

Private Sub Workbook_Open()

Saludo

End Sub

Esta última opción es la que nos permite ejecutar automáticamente la macro al abrir el libro. Allí podemos colocar varias macros, una por cada línea y se ejecutarán en el orden en que se coloquen.

Esta opción es de gran utilidad para ciertas aplicaciones, puesto que nos permite hacer validaciones y verificaciones previas antes de iniciar cualquier actividad en el libro correspondiente.

Descargar archivo de ejemplo

Material para complementar

Siéntase libre de opinar


10 Opiniones
  1. Carlos Hernandez dice:

    Esta macro esta excelente!

    podrían ayudarme a forzar que la aplicación de excel este siempre por encima de cualquier otra aplicación, es decir, que siempre quede en primer plano.

    Gracias

  2. Carlos dice:

    Hola buenas tardes:

    Quisiera ejecutar una macro al iniciar excel (específicamente la que se encuentra en este link http://www.recursosvisualbasic.com.ar/htm/listado-api/api-31.htm), es para tener siempre al frente la hoja de excel.

    podrían decirme como resolverlo, ya que me marca errores al momento de ejecutarlo, tal vez no lo estoy colocando como debe de ser. Y les pido apoyo porque el ejemplo que ustedes colocan con el saludo si funciona.

    Gracias de antemano !!!

  3. Julia Salinas dice:

    Muy buena página, gracias

  4. marcos salamanca dice:

    buena noche quien me puede ayudar con un codigo de macro que haga lo siguiente

    1 cuando abra el archivo me ejecute un modulo que diga usuario y cable para ingreso

    2 que al momento del ingreso me guarde la fecha, nombre,hora de ingreso en un libro y que quede como historial

    3 los usuarios serian como 12 que ingresaran

    • jorge dice:

      tienes que crear un userform donde te pida usuario y clave, y al momento de que le des aceptar valide datos y los ingrese a el listado es facil.

      ese form lo mandas llamar con un modulo al abrir el libro como el ejemplo en esta pagina.

      lo de los usuarios es indistinto,

      si quieres mandame un correo y te paso ejemplos de como seria

      saludos!!

  5. Elisa dice:

    Muy claro! gracias!

  6. Juan Francisco dice:

    Por favor necesito ayuda con respecto al siguiente tema: Deseo bloquear un USERFORM para que no lo cierren exceptuando con una macro de cerrar o salir. Gracias.

  7. Humberto Luis Duran dice:

    Otra preguntica, como se referencian en VBA las llamadas listas o nombres de listas creadas en excel

  8. Humberto Luis Duran dice:

    Quien me puede ayudar, como ejecutar una macro antes de que se abra un libro en excel, normalmente se abre el libro y al terminar de abrirse se ejecuta la macro workbook_Open o la Auto_open(), esto no es lo requerido

  9. Humberto Luis Duran dice:

    Quien me puede ayudar, como ejecutar una macro antes de que se abra un libro en excel, normalmente se abre el libro y al terminar de abrirse se ejecuta la macro workbook_Open o la Auto_open()

En Gerencie.com está permitido opinar, criticar, discutir, controvertir, disentir, etc. Lo que no está permitido es insultar o escribir palabras ofensivas o soeces. Si lo hace, su comentario será rechazado por el sistema o será eliminado por el administrador. Por último, trate de no escribir en mayúscula sostenida, resulta muy difícil leerle.