Cómo Limpiar Automáticamente un Formulario en VBA Excel – Borra TextBox, ComboBox, CheckBox 🧹
¡Limpia todos los controles de tu formulario (UserForm) en VBA Excel con un solo clic! Aprende a borrar TextBox, ComboBox, CheckBox, OptionButton e Image de forma eficiente. Descubre métodos directos. 💻📝
Paso a Paso
Preparación: Contexto del formulario 📋
Formulario: Usa un UserForm llamado Registrar con los siguientes controles:
- TextBox: FechaNace, Nombre, Apellido, Correo, Telefono, TxtRuta, TxtEdad, TxtCodigo.
- ComboBox: Lista desplegable (por ejemplo, para selección de opciones).
- OptionButton: Primaria (OptionButton1), Secundaria (OptionButton2), Superior (OptionButton3), Otro (OptionButton4).
- Image: Control Image1 para mostrar una imagen.

Objetivo:
- Limpiar todos los controles al hacer clic en un botón Limpiar.
- Limpiar tras registrar un cliente y autogenerar un código incremental (por ejemplo, 17, 18).
Abre el Editor de VBA (Alt + F11) y asegúrate de tener el proyecto con el formulario Registrar. 🎉
Paso 1: Crear la macro LimpiarDatos (Método Manual) 📝
Primero, crea el código para limpiar los controles manualmente, especificando cada nombre.
Crear un módulo:
- En el Explorador de Proyectos, haz clic derecho > Insertar > Módulo.

- Nómbralo Limpiar datos.
- Escribe:
Sub Limpiar_Datos() End Sub
- Presiona Enter para crear la estructura de la macro.

Identificar nombres de los controles:
- En el Explorador de Proyectos, haz doble clic en el formulario Registrar para abrirlo.
- Selecciona cada control, haz clic derecho > Propiedades, y copia su nombre (Name):
- TextBox: TxtFechaNace, TxtNombre, TxtApellido, TxtCorreo, TxtTelefono, TxtRuta, TxtEdad, TxtCodigo.
- OptionButton: OptionButton1 (Primaria), OptionButton2 (Secundaria), OptionButton3 (Superior), OptionButton4 (Otro).
- Image: Image1.
- ComboBox: (Por ejemplo, CboOpciones, ajusta según tu formulario).

Escribir el código de limpieza:
- En la macro LimpiarDatos, escribe:
Sub LimpiarDatos() Registrar.Txt_Fecha_Nace.Value = "" Registrar.Txt_Nombre = "" Registrar.ComboBox1 = "" Registrar.Txt_ApellidoP= "" Registrar.Txt_Correo = "" Registrar.Txt_ApellidoM= "" Registrar.Txt_Telefono = "" Registrar.Txt_Ruta = "" Registrar.TextBox10 = "" Registrar.TextBox11 = "" Registrar.TextBox12 = ""
Registrar.Image1.Picture = Nothing Registrar.OptionButton1.Value = False Registrar.OptionButton2.Value = False Registrar.OptionButton3.Value = False Registrar.OptionButton4.Value = False End Sub
- Explicación:
- With Registrar: Accede al formulario Registrar.
- .Txt…Value = «»: Limpia los TextBox estableciendo su valor en vacío.
- .OptionButton…Value = False: Desmarca los OptionButton (False = no seleccionado).
- .Image1.Picture = Nothing: Elimina la imagen del control Image.

Paso 2: Crear el botón Limpiar 🖱️
Añade un botón en el formulario para ejecutar la macro LimpiarDatos.
Insertar el botón:
- En el UserForm Registrar, abre el diseñador (haz doble clic en Registrar en el Explorador de Proyectos).
- En la barra de herramientas, selecciona CommandButton

- Colócalo en el formulario.

- En Propiedades, cambia el nombre a Limpiar y el Caption a «Limpiar».
Asociar la macro:
- Haz doble clic en el botón Limpiar para abrir su evento Click.
- Escribe:
Private Sub CommandButton4_Click()Call Limpiar_DatosEnd Sub

- Explicación: Al hacer clic en Limpiar, ejecuta la macro LimpiarDatos.
Prueba inicial:
- Guarda el proyecto (Ctrl + S).
- En Excel, abre el formulario (por ejemplo, con un botón Agregar).
- Completa los campos: selecciona una fecha en TxtFechaNace, escribe en TxtNombre, selecciona un OptionButton (por ejemplo, Secundaria), carga una imagen en Image1.
- Haz clic en Limpiar: Todos los campos deben quedar vacíos, OptionButton desmarcados, y la imagen eliminada.

Error detectado:
- Si TxtEdad calcula la edad desde TxtFechaNace automáticamente (como se menciona en el curso), limpiar TxtFechaNace puede generar un error porque TxtEdad intenta calcular la edad con un valor vacío.
- Resultado: Al hacer clic en Limpiar, aparece un error. 🚨
Paso 3: Corregir el error en TxtEdad 🔧
Para evitar errores en TxtEdad.
Validar TxtFechaNace:
- Actualiza la macro Fecha_Nace:
Private Sub Txt_Fecha_Nace_Chance()If Me.Txt_Fecha_Nace.Value<>""ThenDim edad As Integer
edad = getEdad(Me.Txt_Fecha_Nace)
Me.Txt_Edad.Value = edadEnd If
End Sub - Explicación:
- If .TxtFechaNace.Value <> «»: Solo limpia TxtFechaNace y TxtEdad si TxtFechaNace tiene un valor, evitando que TxtEdad intente calcular con un campo vacío.
- Si TxtFechaNace ya está vacío, no limpia TxtEdad, previniendo el error.
Prueba corregida:
- Abre el formulario, completa TxtFechaNace (por ejemplo, «01/01/1990»), escribe en otros campos, selecciona un OptionButton, carga una imagen.
- Haz clic en Limpiar: Se limpia todo sin errores, incluyendo TxtEdad. 😄

Cierre 🎬
¡Listo! 🎉 Ahora dominas cómo limpiar formularios en VBA Excel usando métodos manuales, corrigiendo errores como el cálculo de edad, y autogenerando códigos tras registrar. Practica con el formulario del curso y compara ambos métodos. ¿Dudas? Déjalas en los comentarios. ¡Nos vemos en el próximo capítulo! 👋
Notas Adicionales 📝
- Enlaces: Revisa el curso gratuito de VBA Excel en la descripción (video 11, formulario). 😊
- Orden del Código:
- Primero crea la macro LimpiarDatos (manual) o LimpiarDatosBucle (bucle).
- Luego asigna el botón Limpiar y ajusta Registrar.
- Errores Comunes:
- TxtEdad: Usa un If para validar TxtFechaNace antes de limpiar.
- TypeName: Escribe TextBox, ComboBox con mayúsculas.
- Clear: Evita en ComboBox si quieres conservar los ítems.
- GenerarCodigo: Asegúrate de que la macro GenerarCodigo esté definida (del curso).
- Consejo: El bucle es más escalable, pero el método manual es más claro para principiantes. 🔍
Módulo 19: Creación de un formulario con botones: Registrar, Modificar, Eliminar, Limpiar y Buscar .
- Video 01. Diseño de Formulario y inserción de Controles
- Video 02. Validar Email, Números y Textos
- Video 03. Validar y cambios de color Campos Vacíos.
- Vide4. Insertar Calendario Flotante y Calcular Edad
- Video 5. Duplicar Calendario y programar botón Examinar.
- Video 6. Programando Botón Registrar y Generar Código(Cli_0001)
- Video 7. Programando el botón Búsqueda Múltiple.
- Video 08. Programando el botón Eliminar en VBA
- Video 09. Programando el Botón Modificar
- Video 10. Agrandar imagen con Clic
GROSO