jueves, 2 de diciembre de 2021

VBA EXCEL 2022: LLENAR COMBOBOX DINAMICO CON DATOS DE UNA COLUMNA

(IGNORA CELDAS VACIAS)



Con este código podremos llenar un cuadro combinado (combobox) a partir de los datos en una columna. Estos datos no necesitan estar en una tabla y pueden estar uno separado del otro, ya que nuestro código solo considerará aquellas celdas que posean algún dato.

ANTES: Nuestro libro de excel debe estar habilitada para ejecutar macros, es decir, con la extención .xlsm y nuestra pestaña de programador debe estar en modo diseño para que podamos escribir código y editar los objetos que vamos a utilizar.


PASO 1: En una columna escribimos nuestros datos. Por el bien de este ejemplo, pondremos un encabezado y además separaremos uno de nuestros datos del resto, pero no es necesario.

Datos en una columna. No es una tabla.


PASO 2Creamos un botón de comando(commandbutton) en una de nuestras hojas, en este caso la primera hoja, y tambien creamos un formulario. Haciendo doble click sobre el botón de comando escribimos lo siguiente:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Con esto mostraremos el formulario al hacer click en el botón de comando.


PASO 3: En el formulario creamos un cuadro combinado (combobox). Creamos también una etiqueta (label) para describír qué datos nos mostrará el cuadro combinado. 



PASO 4: Hacemos doble click en el combobox y escribimos lo siguiente:

Private Sub ComboBox1_Enter()

With Sheets("Hoja1")
For Each celda In .Range("B4:B" & .Cells(.Rows.Count, 2).End(xlUp).Row)
If celda <> Empty Then
ComboBox1.AddItem celda.Value
End If
Next celda
End With

End Sub

Esto hará que, situandonos en la "Hoja1", por cada celda en el rango desde "B4" (el primer dato que queremos considerar) a "B(ultimo dato en nuestra columna, en este caso 14)", si la celda no está vacía, añadirá su valor al cuadro combinado. 

 

PASO 5: Ejecutar





LINK DE DESCARGA

2 comentarios:

  1. Muy bien explicado ya van dos para este blog. Hay algunos errores en el paso 1 dice podremos y el 3 dice dos veces creamos. Gracias por el contenido

    ResponderBorrar
    Respuestas
    1. Muchas gracias por la retroalimentación, no te imaginas lo feliz que me hace que alguien se de el tiempo de leer todo el texto. Hago todo con mucho cariño pero se me pasan cositas igual. Desde ahora pasaré el texto por Word antes de subirlo ¡Gracias de nuevo! 😊🌟🐇

      Borrar