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_Datos

    End 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<>""Then

    Dim edad As Integer
    edad = getEdad(Me.Txt_Fecha_Nace)
    Me.Txt_Edad.Value = edad

    End 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 .

Related Articles

Responses

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

El Tío Tech
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.