Como conservar los datos de un formulario al volverlo abrir?

Tengo este código en mi formulario:

Private Sub CommandButton1_Click()

If TextBox1 <> "" Then

Sheets("COMEX").Range("A1").Value = TextBox1.Text

Sheets("COMEX").Range("A8").Value = UserForm1.ListBox1.Value

If CheckBox1.Value = True Then Call Imprimir

If CheckBox2.Value = True Then Call Imprimir

If CheckBox3.Value = True Then Call Imprimir2

If CheckBox4.Value = True Then Call Imprimir3

If CheckBox5.Value = True Then Call Imprimir4

If CheckBox6.Value = True Then Call Imprimir5

If CheckBox7.Value = True Then Call Imprimir6

Unload Me

Sheets("base_empleados").Select

Else

MsgBox "Falta el Número de Empleado y/o Fecha", vbOKOnly + vbExclamation, "Faltan Llenar Datos"

End If

End Sub

Todo funciona muy bien, pero lo que deseo es que mantenga los mismos datos en el Textbox y en el Listbox al volverlo abrir, ya que cuando lo cierro se borra el contenido del textbox y se restablece el listbox.

Respuesta
1

H o l a:

Todos los datos de un userform están en memoria mientras mantienes activo el formulario, cuando cierras el formulario, la memoria se destruye y todos los datos se pierden.

Para cargar los datos en un formulario cuando abres el formulario, se puede hacer en el evento Activate:

Private Sub UserForm_Activate()
'Por.Dante Amor
    Set h = Sheets("COMEX")
    TextBox1 = h.Range("A1").Value
    ListBox1.AddItem h.Range("A8").Value
End Sub

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Hola experto, gracias por la respuesta, el Textbox si funciono, pero el Listbox , me arroja el siguiente error:

Se ha producido el error '70 en tiempo de ejecución:

Permiso Denegado

El Listbox, lo tengo vinculado al rango =base_empleados!$AP$5:$AP$370, que es con lo que elijo la fecha, creo que supongo por eso no se puede hacer lo que me sugeriste o si me puedes ayudar que se puede hacer en estos casos?

Saludos Cordiales

Así:

Private Sub UserForm_Activate()
'Por.Dante Amor
    TextBox1 = Sheets("COMEX").Range("A1").Value
    ListBox1.RowSource = "base_empleados!$AP$5:$AP$370"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas