Codifique o programe una lista de validación de datos - Ejemplos de código VBA

Tabla de contenido

Este tutorial demostrará cómo usar la validación de datos para trabajar con listas desplegables en Excel usando VBA.

La validación de datos de Excel le permite limitar los valores que se pueden ingresar en una celda o rango. Puede limitar las entradas a números enteros positivos, texto, fechas y mucho más. En este tutorial, veremos cómo crear una lista desplegable de validación de datos en una celda usando VBA.

Nota: Una alternativa a una lista desplegable de validación de datos es un objeto ListBox. Los ListBoxes se pueden agregar a las hojas de cálculo de Excel. ListBoxes puede activar macros que se ejecutan cada vez que se cambia un valor de ListBox. Los ListBoxes también se utilizan en los formularios de usuario de VBA.

Creando una lista desplegable usando VBA

Tenemos el texto Fruta en la celda A1, y vamos a crear una lista desplegable en la celda A2, con cinco entradas.

Usaremos el método Validation.Add y especificaremos que el parámetro Type es xlValidateList. Puede agregar los elementos específicos que le gustaría en su lista usando el parámetro Formula1.

El siguiente código creará una lista desplegable de validación de datos en la celda A2:

123456 Sub DropDownListinVBA ()Rango ("A2"). Validación.Agregar tipo: = xlValidateList, AlertStyle: = xlValidAlertStop, _Formula1: = "Naranja, manzana, mango, pera, melocotón"End Sub

El resultado es:

Complete una lista desplegable de un rango con nombre en VBA

Puede usar un rango con nombre que contenga los elementos para completar una lista desplegable en VBA. Tenemos los animales de rango con nombre que se muestran a continuación:

Tenemos que establecer el parámetro Formula1 igual al rango nombrado. El siguiente código creará una lista desplegable de validación de datos en la celda A7 basada en los elementos del rango con nombre:

123456 Sub PopulateFromANamedRange ()Rango ("A7"). Validación.Agregar tipo: = xlValidateList, AlertStyle: = xlValidAlertStop, _Formula1: = "= Animales"End Sub

El resultado es:

Eliminar la lista desplegable

Puede utilizar el método Validation.Delete para eliminar la lista desplegable de la celda. El siguiente código eliminaría la lista desplegable de la celda A7 en el ejemplo anterior:

12345 Sub RemoveDropDownList ()Rango ("A7"). Validación.EliminarEnd Sub
wave wave wave wave wave