Excel - Combobox

   
Vista:

Combobox

Publicado por Manuel (7 intervenciones) el 25/10/2007 14:02:01
Buenas a todos. Mi pregunta la siguiente.

Tengo una hora con un listado de clientes con sus respectivos productos.

Mi intención sería hacer un combobox para seleccionar el cliente y luego otro combobox para seleccionar el producto.

Me gustaría que al seleccionar el cliente en el primer combobox, que en el siguiente combobox solo me salieran los productos de dicho cliente (y que no me salieran todos los productos de la tabla)

Y tambien que en el primer combobox, lo me repitiera el nombre de los clientes.

Ej:

CLIENTE PRODUCTO

A 1
A 2
A 3
B 4
B 5
B 6
C 7

Combobox1: (Que solo saliera: A,B y C, y no A,A,A,B,B,B;C)

No se si será mu complicado. Gracias a todos-.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Combobox

Publicado por Fernando (231 intervenciones) el 25/10/2007 15:18:24
Crea una lista anexa donde no se repitan los productos que alimente el combobox de clientes, luego mediante bloques If o un Select Case alimentas el listfillrange del combobox dependiente.

Te dejo un procedimiento para que tengas una idea.

****************************************************************************************

Private Sub ComboBox1_Change()
Application.ScreenUpdating = False
Dim Matriz As Range
Select Case Range("B15")
Case 1
Set Matriz = Range("E2:E5")
ComboBox2.Select
With Selection
.ListFillRange = "Hoja1!E2:E5"
.LinkedCell = "$E$14"
End With
ComboBox2.Value = Matriz(1)
Case 2
Set Matriz = Range("F2:F5")
ComboBox2.Select
With Selection
.ListFillRange = "Hoja1!F2:F5"
.LinkedCell = "$E$14"
End With
ComboBox2.Value = Matriz(1)
Case 3
Set Matriz = Range("G2:G5")
ComboBox2.Select
With Selection
.ListFillRange = "Hoja1!G2:G5"
.LinkedCell = "$E$14"
End With
ComboBox2.Value = Matriz(1)
Case 4
ComboBox2.Select
Set Matriz = Range("H2:H5")
With Selection
.ListFillRange = "Hoja1!H2:H5"
.LinkedCell = "$E$14"
End With
ComboBox2.Value = Matriz(1)
End Select
Range("E14").Select
Application.ScreenUpdating = True
End Sub

****************************************************************************************

Saludos,
Fernando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar