Macro Auto Open

30/05/2005 - 16:31 por Javi | Informe spam
Hola

Perdonad que haga esta consulta, creo haber leido hace tiempo un mensaje
similar pero no lo encuentro.

Quiero que al abrirse un libro se ejecute un código, he probado a poner
en THISWORKBOOK la siguiente macro

Public LibroActivo

Private Sub Workbook_Open()
LibroActivo = ActiveWorkbook.Name
End Sub

pero no funciona, he probado con AutoOpen, pero tampoco va. He leido en
algún sitio de ineternet que hay que hacer que se pueda ejecutar la
macro AutoOpen, pero no entiendo (ni explican cómo hacerlo).

Por otra parte, en esta macro quiero pasar el nombre del libro que se
abre a una variable (es una plantilla yquiero saber el nombre del libro
que se abre), si lo hago como en el ejemplo ¿estará bien hecho? podré
utilizar esa variable desde cualquier otra macro o función.

Muchas gracias

Javi
 

Leer las respuestas

#1 KL
30/05/2005 - 18:10 | Informe spam
Hola Javi,


he probado a poner en THISWORKBOOK la siguiente macro...



La variable publica la tienes que declarar en un Modulo estandar no de clase
como es el de ThisworkBook. Es decir manten el macro donde esta y traslada
la siguiente linea a un modulo estandar, p.ej. Modulo1:

Public LibroActivo As String

he probado con AutoOpen, pero tampoco va.



El nombre del macro en este caso debe poner Auto_Open(), no AutoOpen().
Ademas a diferencia de Workbook_Open que va al modulo de clase de
ThisWorkbook, Auto_Open debe ir a un modulo estandar no de clase.

Por otra parte, en esta macro quiero pasar el nombre del libro que se abre
a una variable (es una plantilla yquiero saber el nombre del libro que se
abre), si lo hago como en el ejemplo ¿estará bien hecho? podré utilizar
esa variable desde cualquier otra macro o función.



Si lo haces tal como te lo indico arriba entonces si estara disponible para
todos los macros.

Saludos,
KL

Preguntas similares