Filtrar lista de cuadro conbinado y mostrar varias columnas

20/09/2008 - 05:12 por GRIEGO59 | Informe spam
Hola!
En un formulario tengo un combobox1 con este código:

'Carga el combobox con los productos al activar el formulario
Private Sub UserForm_Activate()
Sheets("Códigos").Select
Range("a1").Select

Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
ComboBox1.AddItem ActiveCell
Loop
End Sub

La lista del cuadro combinado muestra la columna "a".
Los títulos de las columnas a, b y c son Código, producto, proveedor.

Quisiera que la lista del cuadro combinado muestre las columnas "a", "b" y
"c" de la hoja "códigos" y se seleccione la columna "a"

Quisiera, si es posible, que la lista del combobox1 muestre los productos
asociados al proveedor seleccionado en un combobox2.

Gracias por la ayuda,

Darío
 

Leer las respuestas

#1 Héctor Miguel
20/09/2008 - 06:03 | Informe spam
hola, Darío !

__ 1 __
En un formulario tengo un combobox1 con este codigo:
'Carga el combobox con los productos al activar el formulario
Private Sub UserForm_Activate()
Sheets("Codigos").Select
Range("a1").Select
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
ComboBox1.AddItem ActiveCell
Loop
End Sub

La lista del cuadro combinado muestra la columna "a".
Los titulos de las columnas a, b y c son Codigo, producto, proveedor.
Quisiera que la lista del cuadro combinado muestre las columnas "a", "b" y "c" de la hoja "codigos" y se seleccione la columna "a"


__ 2 __
Quisiera, si es posible, que la lista del combobox1 muestre los productos asociados al proveedor seleccionado en un combobox2.



1) la carga de un control combo/lista la puedes agilizar sin "danzas" seleccionando la siguiente fila/celda...
(incluso, te sugiero usar el evento '_initialize' en lugar del '_activate' en el formulario) +/- asi:

Private Sub UserForm_Initialize()
ComboBox1.ColumnCount = 3
ComboBox1.ColumnWidths = "35;75;40"
With Worksheets("códigos")
ComboBox1.List = _
.Range(.Range("a2"), .Range("a2").End(xlDown)).Resize(, 3).Value
End With
End Sub

2) para este requerimiento (creo que) deberas reconsiderar algunos puntos (p.e.)
a) en lugar de llenar el combobox1 en la inicializacion del formulario... -> rellenar el combobox2 (con los proveedores)
b) puedes utilizar (auto)filtros(avanzados) para cargar proveedores "unicos"
c) ya no seria necesario mostrar en el combobox1 a los proveedores
d) el combobox1 debera rellenarse con otro (auto)filtro(avanzado) segun el proveedor seleccionado en el combobox2

3) comenta cual es el rango usado/disponible en tu hoja "codigos" para usar filtros avanzados (de ser conveniente)
y/o cualquier otro detalle que pudiera estarse quedando "en el tintero" :))

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Preguntas similares