Llenar objeto cuadro de lista (ListBox) con uso de variable tipo range

El uso de las variables en la programación VBA es de gran utilidad para los casos en que se requiere estar modificando información necesaria en la programación. Veamos ahora como llenar de nuevo un Cuadro de lista utilizando una variable tipo Range en la cual se puede almacenar los datos de un rango de celdas.

Objeto Cuadro de Lista: con el uso de este Objeto, se habilita la interacción entre el usuario y el programa permitiendo seleccionar uno o varios elementos de una lista.

Lo primero es ingresar al editor de Visual Basic, puede ser con la combinación de teclas Alt + F11 y en la ventana del Explorador de proyectos, ubicamos el libro de trabajo donde queremos insertar el formulario para lo cual damos clic derecho y seleccionamos la opción Insertar de la cual se despliegan tres opciones y finalmente, clic en la opción UserForm:

De esta manera, se inserta el formulario el cual se puede observar dentro de la “estructura” del explorador de proyectos como un Objeto más del libro de trabajo:

Nos ubicamos en la ventana de herramientas que se presenta como una ventana flotante:

La herramienta de Cuadro de Lista se encuentra generalmente seguida del Objeto Cuadro Combinado:

Lo seleccionamos con un clic y luego en el formulario se ingresa el Cuadro de Lista con clic en el espacio donde se requiera y también se puede adicionar una Etiqueta para indicar la información que se incluye en la lista quedando de la siguiente manera:

Los datos para llenar el cuadro de lista se encuentran en el rango de celdas E2:E4:

Ahora solo falta “llenar” con las opciones este Cuadro de Lista y para ello damos doble clic en cualquier área gris del formulario (desde el editor VBA) quedando activa la ventana de programación del formulario:

Ahora pasamos a seleccionar de la lista de eventos ubicada en la esquina superior derecha, el evento Activate:

Y con esto aparece una nueva estructura de código VBA en la cual debemos ingresar el siguiente código:

Dim RangoPaises As Range

Set RangoPaises = Hoja1.Range("E2:E4")

ListaPaises.List = RangoPaises.Cells.Value

Queda de la siguiente forma en el editor VBA:

La línea que comienza con la instrucción Dim, sirve para crear la variable RangoPaises como una variable de tipo Rango (Range). La línea que comienza con la instrucción Set, sirve para llenar la variable RangoPaises con la información que se encuentra en las celdas E2:E4 de la Hoja1 y finalmente, es en la siguiente línea donde se le indica al cuadro de lista ListaPaises en su propiedad List que los datos para llenar dicho cuadro se encuentran en la variable RangoPaises

Al ejecutar el formulario el resultado será el siguiente:

Descargar archivo de trabajo.

Contenido relacionado:
Compartirlo
Gerencie.com en su correo.

Suscríbase y nosotros colocaremos en su bandeja de entrada la mejor información que generamos diariamente.


Déjenos su opinión

En Gerencie.com está permitido opinar, criticar, discutir, controvertir, disentir, etc., pero debe hacerlo con respeto, sin insultar y sin ofender a otros.

Información legal aplicable para Colombia.