Hojas de cálculo en Excel - página principal

Macro al abrir o al cerrar un libro

Algo que podemos necesitar habitualmente en nuestras aplicaciones de excel, consiste en ejecutar determinadas acciones en el momento de abrir un libro de excel, o bien en el momento de cerrarlo.

Para que se ejecute un macro en el momento de abrir el libro, tendremos que llamar al macro con el nombre obligatorio de Auto_open(). He aquí un ejemplo:


Sub Auto_open()
'Aquí iría el código de lo que queremos
'que haga nuestro macro, al abrir el libro
'bla, bla, bla
'bla, bla, bla
'bla, bla, bla

End Sub

Si por el contrario, queremos que se ejecute el macro, al cerrar el libro, tendremos que llamar al macro Auto_close(), con ese nombre literal. He aquí un ejemplo:

Sub Auto_close()
'Aquí iría el código de lo que queremos
'que haga nuestro macro, al cerrar el libro
'bla, bla, bla
'bla, bla, bla
'bla, bla, bla

End Sub



9 comentarios:

JL dijo...

Hola,
La he probado con formularios para registrar las horas trabajadas en forma automática.
Muchas gracias, ha sido de gran utilidad

José Luis

Javier Marco dijo...

De nada. Como ves es muy sencillo, pero de gran utilidad.

Anónimo dijo...

Javier,
Hola, tu pagina esta por demas interesante, pero tengo una duda, como puedo hacer que al cerrar un libro, este me proporcione un numero consecutivo inmediato superior, te agradecere tus comentarios.
Saludos

Javier Marco dijo...

Prueba a grabar el macro en el libro personal.xls (hay un artículo que habla de ello en este blog).

Para crear un número incremental, tan solo deberás hacer algo como esto:

Sub incrementar()
Range("A1") = Range("A1") + 1
End Sub

Salu2

Anónimo dijo...

Una consulta, estoy necesito hacer una macro que cuando se abra el archivo controle que la fecha de hoy sea menor a la ingresada en la celda G1. Si es menor que presente la hojas siguientes, sino que emita un mensaje de error y que cierre el libro. El problema que tengo que cuando compara las fechas siempre me da el mismo resultado. Gabriela

Anónimo dijo...

Y si quiero cerrar una hoja excel, en una macro donde el nombre de la hoja esta nombrada como una variable.

Medianoche Tropical dijo...

saludos, como siempre, excelentes tus artículos. Hoy te escribo para saber si hay forma de generar una macro que al abrir el libro en excel, me permita habilitar las macros (bajar la seguridad de macros de hecho) Traté grabando macro desde menú herramientas pero la macro queda vacía, solo asigna el nombre pero no el proceso.
Desde ya gracias por tus siempre acertadas respuestas. Un abrazo.

Javier Marco dijo...

Pues eso no se puede hacer. Si se pudiera hacer eso, Excel tendría graves problemas de seguridad, al permitir la autohabilitación de macros a través de otro macro.

Si yo no quiero que se habiliten las macros, ¿por qué tienen que autohabilitarse?. Si eso se pudiera hacer, sería un grave problema para Microsoft.

Anónimo dijo...

Quiero hacer mediante una macro la modificacion de una tabla tomando ciertos valores de otra tabla que la utilizo de Demo, pero estoy teniendo problemas para que se ejecute a través de CommandButton mi email: jalfh@yahoo.com