Foros del Web » Soporte técnico » Ofimática »

vba: abrir un userform de un excel desde otro archivo excel

Estas en el tema de vba: abrir un userform de un excel desde otro archivo excel en el foro de Ofimática en Foros del Web. Hola, Estoy trabajando con dos archivos excel a la vez, ambos abiertos, en los que en uno de ellos hay un formulario llamado Userform1. En ...
  #1 (permalink)  
Antiguo 13/07/2011, 03:36
 
Fecha de Ingreso: diciembre-2009
Mensajes: 52
Antigüedad: 14 años, 4 meses
Puntos: 0
vba: abrir un userform de un excel desde otro archivo excel

Hola,

Estoy trabajando con dos archivos excel a la vez, ambos abiertos, en los que en uno de ellos hay un formulario llamado Userform1. En un determinado momento, mediante código, debo cerrar el archivo que no contiene el formulario pero, antes de ello, debe abrir el formulario (Userform1) del archivo que lo contiene. Necesito que al cerrarse el archivo sin formulario me deje la pantalla mostrando al usuario el formulario del otro archivo.

Para ello tengo la siguiente función, con el archivo abierto que contiene el formulario como parámetro de entrada.

Public Function Torna(wbE As Excel.Workbook)

Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent

Set VBProj = wbE.VBProject

For i = 1 To VBProj.VBComponents.Count
If VBProj.VBComponents.Item(i).Name = "UserForm1" Then Exit For
Next i

Set VBComp = VBProj.VBComponents.Item(i)

VBComp.Show

ThisWorkbook.Close

End Function



La línia de código mostrada en negrita es donde debería mostrarse el formulario. No obstante, no me permite utilizar el evento .Show. En VBComp tengo el Userform1 (el formulario), ya que mediante la propiedad .Name lo he comprobado.
¿Hay alguna manera de poder utilizar el evento .Show?

Muchas Gracias.
  #2 (permalink)  
Antiguo 13/07/2011, 05:51
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
vba: abrir un userform de un excel desde otro archivo excel

A ver si te comprendí correctamente:

-> Estás corriendo una macro del libro Libro2.xlsm
-> Quieres mostrar un UserForm1 ubicado en Libro1.xlsm
-> Y cerrar Libro2.xlsm

De ser así entonces coloca en Libro1.xlsm el siguiente código:

Código PHP:
Sub ShowDesdeOtroLibro()
UserForm1.Show
End Sub 
Y la macro de Libro2.xlsm hará:

Código PHP:
.
.
Run "Libro1.xlsm!ShowDesdeOtroLibro"
ThisWorkbook.Close

Saludos, Cacho R.
  #3 (permalink)  
Antiguo 13/07/2011, 08:31
 
Fecha de Ingreso: diciembre-2009
Mensajes: 52
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: vba: abrir un userform de un excel desde otro archivo excel

Mucho más senzillo que lo que hacía yo..

Muchas Gracias.
  #4 (permalink)  
Antiguo 13/07/2011, 08:55
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
Respuesta: vba: abrir un userform de un excel desde otro archivo excel

Fue un gusto y hasta la próxima.
Cacho R.

Etiquetas: excel, mediante, vba
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:06.