domingo, 21 de octubre de 2012

Cómo agregar datos a un ComboBox (UserForm - Formulario). VBA


Agregar datos a un ComboBox por medio de AddItem. (UserForm) en VBA Excel.
Agregar datos o elementos a un ComboBox de un UserForm en VBA es sencillo, en este ejemplo tenemos un UserForm con un ComboBox llamado CmbCiudad.





Necesitamos que al ejecutar el formulario el combo Ciudad nos muestre en la lista las ciudades:  México, Monterrey y Guadalajara.

Una forma sencilla sería escribir en el evento Initialize del UserForm el siguiente código:




Cuando ejecutamos el Formulario el combo Ciudad muestra las tres ciudades en una lista.




En este ejemplo por ser pocos elementos utilizamos el método AddItem individualmente, uno para cada ciudad. Pero, qué pasaría si tuvieramos una lista en Excel de 15 o más datos, o que dicha lista se fuera incrementando regularmente. Este código no sería práctico, ya que cada vez que hubiera un dato nuevo, se tendría que agregar el código respectivo.

Para evitar que suceda esto, vamos a insertar un Bucle, que recorra la lista de Excel y que vaya ingresando cada elemento al Combo Ciudad. La lista se encuentra en la columna A a partir de A1, lo que significa que el bucle se tiene que repetir mientras haya datos en la columna A.




El código puede quedar de la siguiente manera:



Al ejecutar el Formulario la el CmbCiudad contiene todas las ciudades de la columna A, pero solo nos muestra una porción de los datos:




Otra opción para agregar datos a un ComboBox, es utilizando la Propiedad Cells, veamos la Macro:




El resultado es el mismo que el código anterior. La diferencia entre estas dos macros es, que la primera trabaja con la celda activa, lo que significa que se tiene que mover por el rango, y esta última solo hace referencia a un número de fila y columna.


Esta y muchas otras macros las podrás aprender en nuestro curso de Macros para Administración, Contabilidad y Finanzas.


Contáctanos: atencionecap@ecapmexico.net
Teléfono en Guadalajara: 0133 3632-2719



No hay comentarios:

Publicar un comentario