Formularios en 2 libros

12/11/2008 - 23:07 por Acuario | Informe spam
Hola..otra vez pidiendo socorrro...

Desde un formulario(frmlibro1) que esta en libro1 abro libro2, que en su
evento open arranca otro formulario (frmlibro2).

Al pasar de libro1 a libro2 utilizo el unload frmlibro1.
La ventana de excel esta oculta.
Hasta aqui todo funciona.

En frmlibro2 hay un boton para volver atras, osea, unload frmlibro2, y
aqui viene el problema, volver a activar frmlibro1,libro2.close

Puede ser algo como:
Workbooks("libro1").Forms("frmlibro1").Show
bueno ya se que asi no funciona.alguna idea???..tal vez no se puede
hacer ??
gracias mil.
 

Leer las respuestas

#1 Héctor Miguel
13/11/2008 - 02:29 | Informe spam
hola, 'anonimo/a' !

(hasta donde se) para que un libro pueda "administrar" el modelo de objetos de otro libro
se necesita marcar una relacion (referencia/vinculo/...) "cruzada" en sus proyectos de macros
(situacion que podria traer otro tipo de requerimientos/eventualidades/...) :-((

existe una coleccion del modelo de objetos VBE (UserForms)...
desde donde podrias "escanear" si el que necesitas "ya anda por ahi" (cargado en memoria)
(tambien tiene sus imponderables) :-((

(creo que) la forma menos complicada (segun tu comentario de que lo "descargas" al pasar al otro libro)
seria que desde una macro en el "libro1" (cargues en memoria y/o) muestres el formulario "frmlibro1"
y en tu libro2, en el evento '_click' del boton "para volver atras", hagas una llamada a ESA macro +/- asi:

1) en un modulo de codigo estandar de tu "libro1"...

Option Private Module
Sub Mostrar_frmLibro1()
frmLibro1.Show
End Sub

2) en el modulo de codigo del formulario de tu segundo libro (OJO con el nombre del CommandButton)...

Private Sub CommandButton1_Click()
Unload Me
Application.Run "libro1!mostrar_frmlibro1"
' ThisWorkbook.Close SaveChanges:=True
End Sub

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ OP __
Desde un formulario(frmlibro1) que esta en libro1 abro libro2
que en su evento open arranca otro formulario (frmlibro2).
Al pasar de libro1 a libro2 utilizo el unload frmlibro1.
La ventana de excel esta oculta.
Hasta aqui todo funciona...

En frmlibro2 hay un boton para volver atras, osea, unload frmlibro2
y aqui viene el problema, volver a activar frmlibro1..., libro2.close...

Puede ser algo como:
Workbooks("libro1").Forms("frmlibro1").Show
bueno ya se que asi no funciona... alguna idea?... tal vez no se puede hacer ?

Preguntas similares