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.