Mostrando entradas con la etiqueta combobox. Mostrar todas las entradas
Mostrando entradas con la etiqueta combobox. Mostrar todas las entradas

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.





sábado, 3 de octubre de 2015

MACRO PARA LLENAR COMBOBOX CON DATOS DE UNA TABLA ACCES

De acuerdo al título de la entrada veremos cómo llenar un control combobox  tomando información de una tabla en acces.

El control combobox nos sirve para mostrar, seleccionar y escribir texto.

El control combobox tiene varios métodos entre ellos el método additem  el cual nos permite agregar datos al control.

Antes de escribir la macro cree una base de datos en acces de la cual tomare la información para llenar el control combobox.


Para empezar insertaremos un formulario en el entorno de desarrollo



Agregaremos al formulario un control combobox .



Agregaremos un boton de comando o commandButton


Crearemos el siguiente código que nos permitirá llenar el combobox , ejemplos como este los puedes encontrar en el curso online de excel.


Este procedimiento recibe como parámetro el formulario en que se encuentra el combobox.

Define las siguientes variables:
  1. DB de tipo dao.database que hace referencia a la base de datos.
  2. RS  de tipo dao.recorset que hace referencia a los registros de la tabla que recorreremos
  3. Strsql que contendrá la instrucción SQL que ejecutaremos.

Se abre la base de datos con la instrucción:
Set db.opendatabase(ubicación del archivo acces)

Ejecutamos la instrucción SQL y recorremos el resultado de la misma hasta llegar al final, mientras se recorre la consulta se agregan los registros al combobox con la instrucción
Fr.cmb1.Additem (registro de la consulta), donde Fr es el formulario , cmb1 es el control combobox.

Se debe agregar el siguiente código al botón de comando:


De esta forma cuando hagamos clic en el botón se invocara a la rutina Llenar_combo que definimos previamente,  el parámetro (ME) hace referencia al formulario.

Si ejecutamos la macro veremos lo siguiente:

Antes de hacer clic en el botón llenar veremos el combobox vacío


Después de hacer clic en el botón llenar veremos el combobox lleno



También podemos llenar un combobox con mas de una columna , en esta entrada te muestro como

Espero que esta macro te sea de utilidad , visita nuestro curso online de excel donde aprenderas mucho mas sobre este y otros temas relacionados con las macros.

En mi ebook Macrosymacros encontraras una colección de macros, que te serán muy útiles  en tus procesos de automatización de hojas de calculo, puedes encontrarlo aquí.

Si necesitas automatizar tus proceso en excel escríbeme a macrosymacros1@gmail.com.