Llenar objeto cuadro de lista (ListBox) con rango de celdas de cualquier hoja

En la entrega anterior se explicó cómo llenar un cuadro de lista con los datos de un rango de celdas con nombre definido lo que implica que solo se puede llenar con los datos de una sola hoja pero qué tal si se requiere llenar el cuadro de lista de la Hoja activa desde la cual se inicia el formulario; para ese caso debemos hacer un ajuste en el código muy sencillo.

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:

Ahora veamos cómo se encuentra estructurado el libro de trabajo:

Son tres hojas y en cada una de ellas en el rango de celdas E2:E4 se tiene una pequeña lista de países de acuerdo al continente al que pertenecen:

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:

ListaPaises.RowSource = "E2:E4"

Queda de la siguiente forma en el editor VBA:

Al ejecutar el formulario desde cada una de las hojas el resultado será:

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.