VBA Lista desplegable (Validación de datos)
In this Article
Este tutorial demostrará cómo utilizar la Validación de Datos para trabajar con listas desplegables en Excel utilizando VBA.
La Validación de Datos de Excel le permite limitar los valores que pueden introducirse en una celda o rango. Puede limitar las entradas a enteros positivos, texto, fechas y mucho más. En este tutorial, vamos a ver cómo crear una lista desplegable de validación de datos en una celda utilizando VBA..
Nota: Una alternativa a la lista desplegable de validación de datos es un ListBox object. ListBoxes pueden añadirse a las hojas de cálculo de Excel. Los ListBox pueden desencadenar macros que se ejecutan cada vez que se cambia el valor de un ListBox. Los ListBox también se utilizan en Formularios.
Creación de una lista desplegable con VBA
Tenemos el texto Fruta en la celda A1, y vamos a crear una lista desplegable en la celda A2, con cinco entradas.
Utilizaremos el método Validation.Add y especificaremos que el parámetro Type es xlValidateList. Puedes añadir los elementos específicos que quieras en tu lista usando el parámetro Formula1.
El siguiente código creará una lista desplegable de validación de datos en la celda A2:
Sub lista_desplegable_en_VBA()
Range("A2").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Formula1:="Naranja, Manzana, Mango, Pera, Maracuya"
End Sub
El resultado es:
Rellenar una lista desplegable a partir de un rango con nombre en VBA
Puedes utilizar rango con nombre que contiene los elementos, para rellenar una lista desplegable en VBA. Tenemos el rango denominado Animales que se muestra a continuación:
Tenemos que establecer el parámetro Fórmula1 igual al rango nombrado. El siguiente código creará una lista desplegable de validación de datos en la celda B7 basada en los elementos del rango nombrado:
Sub rellenar_desde_rango()
Range("B7").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Formula1:="=Animales"
End Sub
El resultado es:
Eliminar 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 B7 en el ejemplo anterior:
Sub eliminarLista()
Range("B7").Validation.Delete
End Sub
VBA Coding Made Easy
Stop searching for VBA code online. Learn more about AutoMacro – A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!
VBA Coding Made Easy
Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!Learn More!