Cuando los datos son fijos (Ejemplo: “Gato” “Lince” “Caracal”) podemos utilizar AddItem e incluso Array. Estos códigos no son difíciles de encontrar en la web, y tampoco de aplicar y modificar para nuestros propios proyectos.
Añadir ítems a un ComboBox, basado en una lista dinámica (Es decir, que crece, o a la que constantemente se le están añadiendo datos) puede ser un poco más complejo. No sé ustedes, pero a mí se me ha complicado bastante el encontrar un código que se ajuste a mis necesidades y, que, considerando el poco conocimiento y experiencia que tengo en Excel, sea lo suficientemente amigable para modificar.
En el siguiente tutorial, se muestra de forma sencilla, como llenar un ComboBox con los datos de una lista que va creciendo a medida que introducimos datos a la columna.
1.- Tenemos nuestra lista en una hoja de Excel: en este caso “Razas de gato”. Nuestra lista está ubicada en la columna “B”, el encabezado está ubicado en la celda “B3” y la lista comienza formalmente desde “B4” hacia abajo. Un CommandButton está ubicado al lado de esta con la única función de llamar al formulario.
2.- Escribimos el código para llamar al formulario desde el CommandButton.
3.- Creamos un formulario con un "Label" (o etiqueta) que nos indica el contenido del ComboBox que insertamos a su lado.
4.- Escribimos el código en el ComboBox.
Private Sub ComboBox1_Enter()
With Sheets("Hoja1")
For Each celda In .Range("B4:B" & .Range("B" & Rows.Count).End(xlUp).Row)
If celda <> Empty Then ComboBox1.AddItem celda.Value
Next
End With
End sub
- Es necesario que el Private Sub sea "Enter"
- '"Hoja1" es la hoja de donde provienen los datos. Si queremos traer los datos desde otra hoja, solo debemos cambiar Sheets("Hoja1"), por Ejemplo: Sheets("Hoja2")
- "B4:B" define desde donde comienza formalmente nuestra lista hasta donde termina
- Si hay espacios en blanco en la lista, pasará a la siguiente celda que contenga datos y lo añadirá al ComboBox.
5.- Comprobar: Si está bien, entonces el ComboBox debería tener cada uno e los elementos de la lista, finalizando en "Snowshoe".
6.- Comprobar: Añadir un nuevo dato a la lista en la columna "B", hará que este se añada a nuestro ComboBox. En este caso añadimos "Sphynx" el cual se integró al ComboBox sin problemas pese a que hay una celda vacía entre medio.
Y hasta aquí el tutorial. Como pueden ver es bastante sencillo. Espero que haya sido de su utilidad y puedan aplicarlo a sus macros. Debo aclarar, no obstante, que mi conocimiento sobre esto el limitado, y que, al igual que ustedes, estoy aprendiendo recientemente por lo cual dificilmente podré responder sobre dudas.
Por último les dejo a su disposición el link para descargar el ejemplo: