Llenar comboboxs sin espacios en blanco

He intentado arreglar el siguiente problema.
Tengo valores en la Hoja2 desde la columna A. Dichos valores solo cubren algunas celdas de la columna. Además tengo un Combobox en la misma hoja, en el cual quiero que tome los valores de la columna A, pero hasta la última fila para cuando se capturen más datos en la columna.
Anteriormente, entré a las propiedades del combo y en ListFillRange declaré el rango A1:A65536 pero el combo tomaba además de los valores en ese rengo, las celdas vacías.
El requerimiento es, que el combo solo tome las celdas con valores.
Ahora he programado el combo con lo siguiente:
Private Sub ComboBox1_Change()
Sheets("hoja2").Select
Range("a1").Select
Do While ActiveCell <> Empty
ComboBox1.AddItem ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Y si me toma los valores, pero solo una vez. Cuando ejecuto de nuevo el combo ya no me da los valores. Seguramente le falta algo al código.

1 Respuesta

Respuesta
1
Tu script recorre los datos solo hasta que encuentre una celda vacía.
Para incorporar datos al combo, es necesario 1. conocer el numero de registros a añadir o bien recorrer rodas las filas hasta que encuentre una palabra calve que le diga al bucle que se detenga.
PRUEBA esto en el eventoc click del combo:
Private Sub ComboBox1_Click()
ComboBox1.Clear
Sheets("hoja2").Select
Range("a1").Select
Do Until UCase(ActiveCell) = "STOP"
If ActiveCell <> Empty Then ComboBox1.AddItem ActiveCell.Value
ActiveCell.Offset(1, 0).Select
DoEvents
Loop
End Sub
Agrega la palabra STOP después del último dato que deseas agregar en columna A, para indicarle hasta donde debe agregar.
Es una idea

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas