Cuadro de lista en VBA

Cuadro de lista en VBA

El cuadro de lista es un control ActiveX que nos permite desplegar una serie de opciones de las cuales el usuario puede realizar una selección. Podemos configurar el cuadro de lista para permitir seleccionar uno o varios elementos de la lista.

Dibujar un cuadro de lista

Para insertar un cuadro de lista en una hoja de Excel debemos ir a la ficha Programador y pulsar el botón Insertar para seleccionar la opción Cuadro de lista (control ActiveX).

Control ActiveX Cuadro de lista

Especificar los elementos del cuadro de lista

Una alternativa para indicar los elementos de un cuadro de lista es a través de la propiedad llamada ListFillRange. Para ello debemos abrir las propiedades del control e indicar el rango de celdas que contiene los elementos:

Propiedad ListFillRange de un Cuadro de lista

En este ejemplo he especificado que los valores sean tomados del rango A1:A6, lo cual da como resultado un cuadro de listacon los valores especificados en dicho rango:

Especificar los elementos de un Cuadro de lista

Elementos del cuadro de lista por código

Otra alternativa para indicar los elementos de un cuadro de lista es a través de código VBA. Para ello puedes incluir el siguiente código en el evento Workbook_Open:

Elementos de un cuadro de lista por código VBA

De esta manera cuando se abra el libro se agregarán las opciones al cuadro de lista llamado ListBox1.

Asociar una celda al cuadro de lista

Adicionalmente podemos asociar una celda al cuadro de lista la cual mostrará la selección que hagamos. Para hacer esta asociación debemos especificar la dirección de la celda en la propiedad LinkedCell:

Propiedad LinkedCell de un Cuadro de lista

De esta manera, cada vez que hagamos una selección de alguna de las opciones del cuadro de lista se verá reflejado su valor en la celda asociada:

Celda asociada a un Cuadro de lista