Realizar una búsqueda y llenar combobox

Buenas expertos.

Tengo una hoja llamada materiales la cual la tengo ordenada que "X" columna sea una familia de materiales, en dicha columna tengo varias filas con distintos nombres de materiales. Ejemplo

Tengo 2 combobox. El combo1 me carga el nombre de las familias, y el combo2 me carga el nombre de los materiales de dicha familia. En si el combo2 carga cuando modifico el combo1.

Ahora bien necesito que hay cambiar el combo1 me realice una búsqueda en las columnas para ubicar el nombre y que en el combo2 aparezcan la lista de materialesde dicha familia. Espero me entiendan. Muchas Gracias. Ah supongamos que la fila en la que se encuentran las familias es la fila2.

1 Respuesta

Respuesta
1

Pon el siguiente código en tu formulario

Private Sub ComboBox1_Change()
'Por.Dante Amor
    ComboBox2.Clear
    Set b = Rows(2).Find(ComboBox1)
    If Not b Is Nothing Then
        For i = 4 To Cells(Rows.Count, b.Column).End(xlUp).Row
            agregar ComboBox2, Cells(i, b.Column)
        Next
    End If
End Sub
'
Private Sub UserForm_Activate()
'Por.Dante Amor
    ComboBox1.Clear
    Sheets("Materiales").Select
    For i = Range("D1").Column To Cells(2, Columns.Count).End(xlToLeft).Column Step 5
        agregar ComboBox1, Cells(2, i)
    Next
End Sub
'
Sub agregar(combo As ComboBox, dato As String)
'por.Dante Amor agrega los item en orden alfabético
    For i = 0 To combo.ListCount - 1
        If StrComp(combo.List(i), dato, vbTextCompare) > -1 Then
            combo.AddItem dato, i: Exit Sub 'Es menor, lo agrega antes del comparado
        End If
    Next
    combo.AddItem dato 'Es mayor lo agrega al final
End Sub

El código incluye la carga del combo1 y la del combo2, así que deberás quitar el código que tengas y poner el que te estoy enviando.

Saludos. Dante Amor

No olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas