Mostrar ListBox segun seleccion de ComboBox

Ya he Intentado varias veces y no me sale, espero su ayuda...

Tendo una tabla (Hoja4(COD)) llamado "Equipos" con tres columnas, EQUIPOS, PROPIEDAD y TIPOS; lo que quiero en seleccionar en el ComboBox1 la tercera columna TIPOS (Livianos, Pesados), y me muestra en el ListaEquipos, ¿las filas que seleccione el tipo...?

Tengo el código que estaba realizando gracias los datos que encontré en el internet, seria bueno adaptar a este código:

Este codo busca equipos, esta aquí todo bien

Private Sub TextBox1_Change()
On Error Resume Next
uf = Hoja4.Range("A" & Rows.Count).End(xlUp).Row

If TextBox1 = "" Then
Me.ListaEquipos.RowSource = "Equipos"
Exit Sub
End If

Hoja1.AutoFilterMode = False
Me.ListaEquipos = Clear
Me.ListaEquipos.RowSource = Clear

For fila = 1 To uf
strg = Hoja4.Cells(fila, 1).Value 'Variable para descripción
Codigo = Hoja4.Cells(fila, 2).Value 'Variable para codigo
If UCase(strg) Like "*" & UCase(TextBox1.Value) & "*" Then
Me.ListaEquipos.AddItem
Me.ListaEquipos.List(X, 0) = Hoja4.Cells(fila, 1).Value
Me.ListaEquipos.List(X, 1) = Hoja4.Cells(fila, 2).Value
X = X + 1
'----------------------------------------------------------------------------------
'He añadido todo este fragmento para que me busque al mismo tiempo por codigo.
ElseIf Codigo Like "*" & UCase(TextBox1.Value) & "*" Then
Me.ListaEquipos.AddItem
Me.ListaEquipos.List(X, 0) = Hoja4.Cells(fila, 1).Value
Me.ListaEquipos.List(X, 1) = Hoja4.Cells(fila, 2).Value
X = X + 1
End If
'----------------------------------------------------------------------------------
Next

End Sub

1 respuesta

Respuesta
1

Supongo que tienes algo como esto en tu combo:

Prueba el siguiente código para el combo:

Private Sub ComboBox1_Change()
  Dim i As Long
  With ListaEquipos
    .RowSource = ""
    If ComboBox1.Value = "" Or ComboBox1.ListIndex = -1 Then
      ListaEquipos.RowSource = "Equipos"
    Else
      For i = 1 To Hoja4.Range("A" & Rows.Count).End(3).Row
        If Hoja4.Range("C" & i).Value = ComboBox1.Value Then
          .AddItem
          .List(.ListCount - 1, 0) = Hoja4.Range("A" & i).Value
          .List(.ListCount - 1, 1) = Hoja4.Range("B" & i).Value
          .List(.ListCount - 1, 2) = Hoja4.Range("C" & i).Value
        End If
      Next
    End If
  End With
End Sub

Gracias Maestro, Dante

Yo padeciendo dias, funciona, pero desearia unas correcciones, por favor.

Seleccionar en el combobox1, Buscar TextBox1 porque va ver cantidad de datos, seleccionar del ListaEquipos y ListaTurno, al final Aceptar.

1. El combobox selecionado Pesados, solo ese dato me debe buscar en la ListaEquipos

2. Vuelvo a selecionar combobox Livianos me debe borrar el textbox1 para buscar nuevamente.

Saludos

Este es tu requerimiento inicial:

Mostrar ListBox segun seleccion de ComboBox...

Tendo una tabla (Hoja4(COD)) llamado "Equipos" con tres columnas, EQUIPOS, PROPIEDAD y TIPOS; lo que quiero en seleccionar en el ComboBox1 la tercera columna TIPOS (Livianos, Pesados), y me muestra en el ListaEquipos,

Esta es tu respuesta:

Gracias Maestro, Dante. Yo padeciendo dias, funciona pero desearia unas correcciones

Con todo gusto te ayudo con las correcciones, pero antes debes valorar esta respuesta.

Crea una nueva pregunta con el detalle de tu nuevo requerimiento.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas