Sintaxis de un ComboBox. Rowsource

Cómo sería la sintaxis para añadir items a un combobox desde un rango dinámico. Esta es la línea que

tengo; FormInformes.ComboInforme.RowSource = "Hoja1! D & a:H & b" pero obviamente no es corecto  .

2 Respuestas

Respuesta
2

H o l a 

Para el formulario sería esto.

En mi ejemplo voy a cargar el rango dinámico A3 hasta ultima fila de la columna D

Private Sub UserForm_Activate()
Set h1 = Sheets("Hoja1")
ComboBox1.RowSource = h1.Name & "!A3:D" & h1.Range("A" & Rows.Count).End(xlUp).Row
End Sub

valora para finalizar saludos!

Gracias, el problema es  "A3" también tendría que ser dinámico.

Perdón creo que no lo he entendido bien, voy a probar. 

Creo que no resuelve mi problema. El rango debería ser algo como por ejemplo A105:D400, donde 105 y 400 son variables

Private Sub UserForm_Activate()
Set h1 = Sheets("Hoja1")
ComboBox1.RowSource = h1.Name & "!A105:D" & h1.Range("D" & Rows.Count).End(xlUp).Row
End Sub

esto carga A105 hasta la ultima fila de la columna D. pero si varía el rango inicial como me indicas supera mis conocimientos.

Respuesta
2

Si quieres dos variables puede ser así:

    var1 = 105
    var2 = 400
    FormInformes.ComboInforme.RowSource = "Hoja1!A" & var1 & ":D" & var2

Esto carga de A105 hasta A400


Si quieres 4 columnas en el combobox, desde A hasta D, entonces también tienes que indicar la propiedad ColumnCount = 4, por ejemplo:

    var1 = 105
    var2 = 400
    FormInformes.ComboInforme.ColumnCount = 4
    FormInformes.ComboInforme.RowSource = "Hoja1!A" & var1 & ":D" & var2

De esa forma cargaría desde A105, hasta D400.


Pero tienes que indicar el valor var1 y el valor de var2. Si de alguna forma ya sabes en dónde inicia y dónde termina entonces sustituye 105 y 400 por los datos que tengas.


Avísame cualquier duda que tengas.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas