Es muy usual crear y programar formularios en VBA/Excel para poder facilitar y minimizar el tiempo en la captura de datos. También son de gran ayuda para la validación de datos entre otras cosas más, pero… ¿qué sucede cuando tenemos un formulario que está repleto de diversos controles como pueden ser:
- cuadros de texto
- cuadros combinados
- cuadros de lista
- casillas de verificación
- botones de opción
Muchos de los que hemos interactuado con formularios sabemos que hay ocasiones que al terminar de llenar los datos y dar clic en un botón "guardar" o "aceptar" los controles de dicho formulario se restablecen para seguir capturando más datos.
Algunos programadores, sobre todo principiantes recurren a utilizar código para ir limpiando/restableciendo cada control, pero esta tarea se vuelve tediosa sobre todo si hay muchos controles dentro del formulario. Utilizan un código como el siguiente:
Private Sub CommandButton1_Click()
'aqui podria ir codigo asociado para almacenar los datos en alguna hoja del libro
With Me
.ComboBox1 = ""
.TextBox1 = ""
.TextBox2 = ""
.TextBox3 = ""
.ComboBox2 = ""
.ListBox1.ListIndex = -1
End With
MsgBox "Datos Registrados!", vbInformation, ""
End Sub
'aqui podria ir codigo asociado para almacenar los datos en alguna hoja del libro
With Me
.ComboBox1 = ""
.TextBox1 = ""
.TextBox2 = ""
.TextBox3 = ""
.ComboBox2 = ""
.ListBox1.ListIndex = -1
End With
MsgBox "Datos Registrados!", vbInformation, ""
End Sub
¿Acaso hay que ir limpiado y restableciendo control por control?. No! en lo absoluto, podemos hacer uso de unas cuantas líneas de código para restablecer/limpiar el contenido de los controles de una manera fácil y práctica como la siguiente:
Private Sub CommandButton2_Click()
'aqui podria ir codigo asociado para almacenar los datos en alguna hoja del libro
MsgBox "Datos Registrados!", vbInformation, ""
Unload Me
UserForm1.Show
End Sub
'aqui podria ir codigo asociado para almacenar los datos en alguna hoja del libro
MsgBox "Datos Registrados!", vbInformation, ""
Unload Me
UserForm1.Show
End Sub
Básicamente lo que hacemos es descargar y nuevamente mostrar el formulario lo cual restaura los valores iniciales de cada control.
Espero este post les sea de gran utilidad al trabajar y programar formularios, si les ha sido de utilidad no duden comentar y compartir el enlace del post.
bien por la opción gracias
ResponderBorrar