Saltar al contenido

Buscar por cualquier coincidencia en todo el documento - Formulario

publicado

Buenos días compañeros !!

Podrían ayudarme, tengo una duda con un formulario.

En el apartado de BUSCAR, tengo un buscador inteligente, pero sólo me busca por algunos campos.

Me gustaría poder buscar cualquier coincidencia en todo el documento, ya sea por números, letras, etc...

Muchas gracias compañeros

Pruebas14032022.xlsm

Featured Replies

publicado
   For j = 1 To 22: cadena = cadena & LCase(Cells(i, j)): Next 'He Cambiado 11 por 22

 

publicado
  • Autor

Muchas gracias Antoni por tu opción, lo he probado pero sigue sin buscarme en todas las columnas cualquier coincidencia. ¿Estaré haciendo algo mal?

publicado
  • Autor

Muchas gracias JSDJSD por tu ayuda como siempre, si puedes me comentas tu opción también si puedes, muchas gracias

publicado

El código usado es el siguiente:

Private Sub txtFiltro1_Change()

    Dim busca As String
    Aviso = ""
    With ListBox1
        .Clear
        busca = txtFiltro1
        Set rango = Hoja1.Range("A2", "Y" & Hoja1.Range("B" & Rows.Count).End(xlUp).Row)
        nume = 1
        For Each buscado In rango
            If nume = buscado.Row Then
                If txtFiltro1 = "" Then .Clear
            Else
                If UCase(buscado) Like "*" & UCase(busca) & "*" Then
                    .AddItem Hoja1.Range("A" & buscado.Row)
                    .List(.ListCount - 1, 1) = Hoja1.Range("B" & buscado.Row)
                    .List(.ListCount - 1, 2) = Hoja1.Range("C" & buscado.Row)
                    .List(.ListCount - 1, 3) = Hoja1.Range("I" & buscado.Row)
                    .List(.ListCount - 1, 4) = Hoja1.Range("N" & buscado.Row)
                    .List(.ListCount - 1, 5) = Hoja1.Range("R" & buscado.Row)
                    .List(.ListCount - 1, 6) = Hoja1.Range("T" & buscado.Row)
                    .List(.ListCount - 1, 7) = Hoja1.Range("H" & buscado.Row)
                If .ListCount > 0 Then .ListIndex = 0
                nume = buscado.Row
                End If
            End If
        Next

        Aviso.ForeColor = vbBlack
        If .ListCount = 0 Then
            Aviso.ForeColor = vbRed
            Aviso = "*** Sin Resultados ***"
        Else
            Aviso = .ListCount & " registros"
        End If
    End With
End Sub

 

publicado
  • Autor

Muchísimas gracias JSDJSD, me funcionó a la perfección. Gracias de nuevo compañero por la ayuda.

Te lo agradezco muchísimo. Gracias

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.