Excel - Macro para realizar un buscador tipo google

 
Vista:
sin imagen de perfil
Val: 7
Ha disminuido 1 puesto en Excel (en relación al último mes)
Gráfica de Excel

Macro para realizar un buscador tipo google

Publicado por Gabriel (3 intervenciones) el 24/09/2019 21:59:13
Buen día,

LLevo varios días tratando de programar con formulas un buscador tipo google, plantearé lo que ocupo y espeor me puedan ayudar.

Tengo una base de datos con 5 columnas y unas 40 filas, en otra hoja estoy haciendo el buscador con formulas "vlookup" pero tengo el problema de que quiero que el buscador sirva para coincidencias parciales, Me refiero a que si en mi base de datos una celda tenga " problemas en motor por vibración", en el buscador puedan escribir "vibráción" y como resultado arroje las o la celda que contenga esa palabra.

No tengo inconveniente en que sea con macros, pero no tengo el conocimiento para programar una así, si me pueden apoyar de la forma que sea estaré muy agradecido.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfredo
Val: 361
Ha aumentado su posición en 3 puestos en Excel (en relación al último mes)
Gráfica de Excel

Macro para realizar un buscador tipo google

Publicado por Alfredo (99 intervenciones) el 24/09/2019 22:54:47
Hola Gabriel

Necesitarías un macro mas o menos con la siguiente instrucción

If (Rango Celda con datos) Like "*" & (Celta con datos de entrada) & "*" Then
..mostrar coincidencias...
end if

Te adjunto mi libro de contabilidad como ejemplo, en la hoja "Catalogo" tengo un buscador como el que creo requieres

Pero seria mejor si subes una copia de tu archivo para valorar

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 7
Ha disminuido 1 puesto en Excel (en relación al último mes)
Gráfica de Excel

Macro para realizar un buscador tipo google

Publicado por gabriel (3 intervenciones) el 25/09/2019 19:28:25
Adjunto mi archivo para que puedan revisarlo, en la primera hoja esta mi intento de buscador y en la segunda las base de datos... en tu archivo no encontré ninguna macro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfredo
Val: 361
Ha aumentado su posición en 3 puestos en Excel (en relación al último mes)
Gráfica de Excel

Macro para realizar un buscador tipo google

Publicado por Alfredo (99 intervenciones) el 25/09/2019 20:54:05
Hola Gabriel,

El archivo que enviaste esta protegido y no pude editarlo

Te adjunto un ejemplo de un buscador +/- apegado al formato de tu archivo, conforme vas escribiendo te aparece una lista con las coincidencias que encuentra, solo basta darle click a la lista y te devuelve todos los datos en la hoja

Espero te sea de utilidad, no olvides comentar el resultado

Saludos desde México
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 7
Ha disminuido 1 puesto en Excel (en relación al último mes)
Gráfica de Excel

Macro para realizar un buscador tipo google

Publicado por gabriel (3 intervenciones) el 25/09/2019 23:10:10
Tuve un error cuando corrí la macro, te adjunto las fotos para que las veas. Gracias de antemano
20190925_160257
20190925_160304
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfredo
Val: 361
Ha aumentado su posición en 3 puestos en Excel (en relación al último mes)
Gráfica de Excel

Macro para realizar un buscador tipo google

Publicado por Alfredo (99 intervenciones) el 25/09/2019 23:38:19
Hola Gabriel

El error esta en la asignación de la columna 2 que no existe cambia el 2 por 1


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Private Sub txtBuscar_Change()
   '
   Dim I As Integer
   Dim X As Integer
   '
   If txtBuscar.TextLength = 0 Then    'Si no hay texto oculta la lista y sale
      Lista.Visible = False
      Exit Sub
   End If
   '
   Lista.Clear
   C = 0
   '
   For I = 2 To Datos.Cells(Rows.Count, 1).End(xlUp).Row
      If UCase(Datos.Cells(I, 1)) Like "*" & UCase(txtBuscar) & "*" Then
         With Lista
            .AddItem
            ..List(.ListCount - 1, 0) = Datos.Cells(I, 1)
            .List(.ListCount - 1, 1) = I  ' <------   El Error esta aquí, cambia el 2 que tiene por 1
            C = C + 1
         End With
      End If
   Next
   '
   Lista.Visible = True
   '
End Sub

Y en el evento de la lista tambien cambia por

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Lista_Click()
   '
   Dim A As Integer
   Dim I As Integer
   Dim X As Integer
   '
   With Lista
      If .ListCount = 0 Then Exit Sub
      I = .List(.ListIndex, 1) ' <-------------------Cambia el 2 por 1
      .Visible = False
      txtBuscar = ""
      X = Busca.Cells(Rows.Count, 1).End(xlUp).Row + 1
      '  Copio datos a la hoja busca
      For A = 1 To 6
         Busca.Cells(X, A) = Datos.Cells(I, A)
      Next
      Busca.Range("A" & X).Select
   End With
   '
End Sub

Lo anterior obedece que al hacer el ejemplo de prueba cargaba en la lista las 2 columnas de la hoja datos + el indice de la fila (Total 3 columnas) , pero al modificar por seleccionar solo la columna A + indice de la hoja datos no modifique el código


Ya nos comentaras, Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar