Abrir formulario en el que me quedé la última vez

Tengo unos 30 formularios que al apretar un botón van pasando uno a uno. Si me quedo en el formulario numero 6 y cierro excel (guardándolo), me gustaría que al volver a abrirlo y ejecutar la macro, me comience en el formulario numero 6 otra vez.

1 Respuesta

Respuesta

Hol.a

Necesariamente tendrías que guardar el nombre de los "UserForm" cada vez que se cierran. Para eso coloca esto en cada módulo de cada "UserForm" (no olvidar ni uno):

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
UserformActivo = Me.Name
Call CerrarUserform
End Sub

Luego coloca esto en un módulo "standard":

Option Explicit
Public UserformActivo As String
Sub AbrirUserform()
Dim frm As Object
Dim NombreUSerform As String
If Sheets("Hoja1").Range("A1").Value = "" Then
    UserForm1.Show
    Exit Sub
Else
    NombreUSerform = Sheets("Hoja1").Range("A1").Value
    Set frm = UserForms.Add(NombreUSerform)
    frm.Show
End If
End Sub
Sub CerrarUserform()
Sheets("Hoja1").Range("A1").Value = UserformActivo
End Sub

Entonces para abrir el "primero" de los "UserForm" (que será el último cerrado) debes usar la macro "AbrirUSerForm".  No olvides que estoy asumiendo que existe una "Hoja1" y que en su celda "A1" irá el nombre del último "UserForm" cerrado. Si es necesario esa hoja puede estar oculta, no hay problema.

Comentas

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas