Generalmente un combobox se llena con un dato
por columna que el usuario puede
seleccionar como vimos en una entrada anterior, pero en ocasiones se deben
agregar más de una columna. Hoy veremos cómo hacer esto:
En la hoja de cálculo he creado una
tabla con la siguiente información: Nombre, Apellido y país de cuatro personas.
El objetivo de la macro será llenar un combobox con esta información.
Cuando el usuario
haga clic en la imagen mostraremos un
formulario con el combobox.
1 Creamos el formulario y agregamos un
combobox , además del combobox
agregamos un botón que nos servirá para cerrar
el formulario.
Dentro de las propiedades del combobox está la
propiedad columncount que nos sirve para indicar cuantas columnas tendrá el
control, esta propiedad puede establecerse en tiempo de ejecución o simplemente
asignándole un valor como lo hacemos en
este ejemplo:
1 En el método UserForm_Activate del
formulario realizamos el llamado a una rutina
llena el combobox, a esta
rutina le pasamos como parámetro el mismo
formulario, lo hacemos así para que
cada vez que se ejecute el formulario se
llene el combobox.
1 Para cerrar el formulario agregamos
un botón con el siguiente código:
1 Esta es la rutina con la que
llenamos el combobox
a.
Recibe como parámetro el formulario.
b.
Definimos una variable que
representa la hoja de cálculo de tipo
Excel.Worksheet.
c.
Definimos la variable f de tipo
entero que nos sirve para recorrer fila a fila la hoja de cálculo.
d.
Definimos la variable ffinal que nos
permitirá saber cuál es la última fila
con datos en la hoja de cálculo.
e.
Asignamos a la variable WS la hoja de calculo
f.
Calculamos la fila final y guardamos
el valor en ffinal.
g.
Recorremos la hoja de cálculo desde
la fila tres hasta la última fila con datos y a medida que se ejecuta este
ciclo se llena el combobox.
1 Definimos una rutina que ejecuta el
formulario.
Finalmente el resultado que obtenemos al
ejecutar la macro es el siguiente:
Espero que te sea de utilidad, si tienes dudas déjanos
tus comentarios o escríbenos a macrosymacros@gmail.com.
Puedes descargar el documento con la macro siguiendo este enlace.
Puedes descargar el documento con la macro siguiendo este enlace.
No hay comentarios:
Publicar un comentario