Cerrar userform desde otro userform para poder volver a acceder a él
publicado
Buenas, tengo un proyecto con tres userforms a los cuales he podido acceder en un proceso normal. Pero me ha llegado el problema cuando he querido volver a un userform que le habia puesto en .Hide y me saltaba el error de que no se podía mostrar porque ya estaba abierto. He intentado ir cerrando los userform según iba pasando al siguiente mediante una funcion ubicada en un módulo y ahora me da error '91' en tiempo de ejecucion - variable de ojeto o bloque with no establecido. Esta es la funcion que la tengo ubicada en un Módulo.
Function FormularioAbierto(ByVal Nombre As String) As Boolean
Dim frm As Object
frm = False
For Each frm In VBA.UserForms
If frm.Name = Nombre Then
FormularioAbierto = True
Exit Function
End If
Next frm
End Function
y el error me salta cuando salgo del userform1 al userform2 con el codigo userform2.show
en initialize del userform2, tengo lo siguiente, que es la razón del error:
Private Sub UserForm_Initialize()
lblDocumento.Caption = ThisWorkbook.Name
captionRotatorio
continuarFase2
If Funciones.FormularioAbierto("Calendario_Valcarlos") Then
Unload Calendario_Valcarlos
End If
If Funciones.FormularioAbierto("Computos") Then
Unload Computos
End If
End Sub
Lo he sacado de internet y no sé que estoy haciendo mal.
Estoy abierto a ideas a posibles soluciones para poder acceder nuevamente a formularios ocultos
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Buenas, tengo un proyecto con tres userforms a los cuales he podido acceder en un proceso normal. Pero me ha llegado el problema cuando he querido volver a un userform que le habia puesto en .Hide y me saltaba el error de que no se podía mostrar porque ya estaba abierto. He intentado ir cerrando los userform según iba pasando al siguiente mediante una funcion ubicada en un módulo y ahora me da error '91' en tiempo de ejecucion - variable de ojeto o bloque with no establecido. Esta es la funcion que la tengo ubicada en un Módulo.
Function FormularioAbierto(ByVal Nombre As String) As Boolean Dim frm As Object frm = False For Each frm In VBA.UserForms If frm.Name = Nombre Then FormularioAbierto = True Exit Function End If Next frm End Function
y el error me salta cuando salgo del userform1 al userform2 con el codigo userform2.show
en initialize del userform2, tengo lo siguiente, que es la razón del error:
Private Sub UserForm_Initialize() lblDocumento.Caption = ThisWorkbook.Name captionRotatorio continuarFase2 If Funciones.FormularioAbierto("Calendario_Valcarlos") Then Unload Calendario_Valcarlos End If If Funciones.FormularioAbierto("Computos") Then Unload Computos End If End Sub
Lo he sacado de internet y no sé que estoy haciendo mal.
Estoy abierto a ideas a posibles soluciones para poder acceder nuevamente a formularios ocultos