Filtrar datos de una base con combobox

Tengo una base que necesito filtrar mediante 3 combobox eliminando los datos repetidos en cada uno de los combobox, al momento de seleccionar el primer combobox1 debe filtrar los datos de la siguiente columna y agregarla al combobox2 y asi con el combobox 3

Base

col F - col G - col H
Origen - destino - horario
Clma - iqui - 10.00
Stgo - clma - 15.00
Clma - stgo - 16.00
Iqui - clma - 17.00
Stgo - iqui - 06.00
Iqui - stgo - 15.00

Agradezco su colaboración

Saldos

Rbvp

Respuesta
2

Este sería el código completo para los 3 combos

Private Sub ComboBox2_Change()
'Por.DAM
ComboBox3.Clear
uf = Sheets("Producción").Range("F" & Rows.Count).End(xlUp).Row
For i = 10 To uf
    If Sheets("Producción").Cells(i, "F") = ComboBox1 And _
        Sheets("Producción").Cells(i, "G") = ComboBox2 Then
            AddItem ComboBox3, Sheets("Producción").Cells(i, "H")
    End If
Next
End Sub
Private Sub ComboBox1_Change()
'Por.DAM
ComboBox2.Clear
uf = Sheets("Producción").Range("F" & Rows.Count).End(xlUp).Row
For i = 10 To uf
    If Sheets("Producción").Cells(i, "F") = ComboBox1 Then
        AddItem ComboBox2, Sheets("Producción").Cells(i, "G")
    End If
Next
End Sub
Private Sub CommandButton1_Click()
'Por.DAM
ComboBox1.Clear
uf = Sheets("Producción").Range("F" & Rows.Count).End(xlUp).Row
For i = 10 To uf
    AddItem ComboBox1, Sheets("Producción").Cells(i, "F")
Next
End Sub
Sub AddItem(cmbBox As ComboBox, sItem As String)
'por.DAM agrega los item únicos y en orden alfabético
For i = 0 To cmbBox.ListCount - 1
    Select Case StrComp(cmbBox.List(i), sItem, vbTextCompare)
        Case 0: Exit Sub 'ya existe en el combo y ya no lo agrega
        Case 1: cmbBox.AddItem sItem, i: Exit Sub 'Es menor, lo agrega antes del comparado
    End Select
Next
cmbBox.AddItem sItem 'Es mayor lo agrega al final
End Sub

Saludos.DAM
Si es lo que necesitas.

Estimado Dam :

agregue los códigos enviados.. pero me arroja error de compilación :

El tipo de argumento de ByRef no coincide..

se me olvido señalarte que tengo Exel 2007

sldos

rbvp

Te comparto mi archivo, tiene 3 combobox que se actualizan con el commandbutton y cada combo va obteniendo los datos filtrados.
Lo importante es el código de la macro.

https://www.dropbox.com/s/q0gqy4m2u05z1ly/combos%20controlx.xlsm

Saludos. DAM
Si es lo que necesitas.

Muchas gracias dam

Al parecer era porque el código del botón yo lo tenia en un modulo y tu incrustabas un botón con el código incluido... te agradezco muchas gracias

sldos

rbvp

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas