VBA, ComboBox Seleccionar, Buscar texbox, lista en listbox
Tengo código de buscar: TextBox1
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
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 SubCodigo del ComboBox1, del Experto Dante Amor
Private Sub ComboBox1_Change()
Dim i As Long
With ListaEquipos
TextBox1 = Empty 'Limpia el Texto de busqueda
.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
Tengo algunos correcciones que se pueden hacer.
Seleccionar en el combobox1, Buscar TextBox1 porque va ver cantidad de datos, seleccionar del ListaEquipos y ListaTurno, al final Aceptar.
- El combobox seleccionado Pesados, solo ese tipo de equipo me debe buscar en la ListaEquipos
- Al Aceptar, Guardar los datos del lisbox en 02 hojas diferentes; "Livianos" y "Pesados" según la selección del ComboBox.
1 Respuesta
Respuesta de facundo garcia