lunes, 20 de marzo de 2017

MACRO PARA LLENAR UN COMBOBOX CON MAS DE DOS COLUMNAS

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.





No hay comentarios:

Publicar un comentario