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

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
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.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas