Propiedad RowSource de un ComboBox

Dentro de un UserForm tengo un ComboBox cuya propiedad RowSource corresponde a un listado de una hoja, digamos el Rango E2:E30. Resulta que ese rango aumenta, toda vez que se encuentra dentro de una base de datos que va creciendo en la medida en que se alimenta. Por lo tanto al escribir en la propiedad RowSource del ComboBox me tocaría actualizarla cada vez que añado filas a la base de datos. La solución que utilicé hasta el momento es ampliar el rango E2:E300. Hay alguna forma de que a la propiedad RowSource yo le pueda asignar una instrucción que me seleccione automáticamente las filas que tengan datos en la columna E, ¿sin necesidad de estar acutalizando cada vez que hayan más filas en dicha columna?

2 Respuestas

Respuesta
1
Esta rutina te va a servir para eso. Ajústala a tus datos.
Va en un módulo .
Sub actualizacombo()
'limpiar el combo
ComboArt2.Clear
Sheets("tuhoja").Select
'ajusta el rango
Range("D6", Range("D65000").End(xlUp)).Select
For Each Item In Selection
ComboArt2.AddItem Item
Next Item
La tenés que llamar desde los eventos Initialize del Userform y desde la rutina que acepta la carga de datos, que generalmente es un botón de Aceptar
Private Sub UserForm_Initialize()
actualizacombo
'otras instrucciones
End Sub
Private Sub cmdAceptar_Click()
'las instrucciones de actualización de datos
actualizacombo
End Sub
Respuesta

Encontré este video, creo que te sera útil

https://www.youtube.com/watch?v=34S6879NXhI

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas