Limpiar todos los campos de un formulario en VBA/Excel

Estándar

Es muy usual crear formularios en VBA/Excel para poder minimizar el tiempo y facilitar 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 esta lleno de muchas cajas de texto, combos y listas? Acaso hay que ir limpiado y restableciendo control por control, no para nada aquí les muestro la manera más habitual de limpiar el contenido de los controles y una que solo requiere de unas cuantas líneas de código.

Esta es la forma que muchos utilizan para dicha tarea:

Private Sub CommandButton1_Click()
With Me
'limpiamos y restablecemos control por control
.ComboBox1 = ""
.TextBox1 = ""
.TextBox2 = ""
.TextBox3 = ""
.ComboBox2 = ""
.ListBox1.ListIndex = -1
End With
End Sub

Esta una manera mas practica:

Private Sub CommandButton2_Click()
Unload Me
UserForm1.Show 'volvemos a cargar el formulario
End Sub

Les comparto el siguiente ejemplo para que puedan ver apreciar como funcionan a detalle estos dos códigos.

Anuncios

2 comentarios en “Limpiar todos los campos de un formulario en VBA/Excel

    • Buenas noches….

      Primero que nada, decir que ya no estoy publicando en este blog. Me he pasado a blogger y estoy migrando algunos de los post a este nuevo blog:
      http://mexcelmx.blogspot.mx/

      En cuanto a tu observacion, me imagino a que tienes unos mensajes que salen cuando el usuario cierra el formulario, el evento queryclose tiene una constante “closemode” (modo de cierra) que determina si el formulario se esta cerrando por parte del usuario o por medio de codigo, hay que interceptar esa variable y dependiendo de su contenido desplegar los mensajes que indicas. Tienes que usar un if dentro del evento para determinar el valor de esa constante y si indica que se cerro por parte del usuario desplegar los mensajes.

      Saludos!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s