Macro excel buscar varias coincidencias

Espero me puedan ayudar a resolver el siguiente problema:
Tengo un rango de datos en una tabla de excel en la Hoja 1, pe.
Codigo Nombre Tel. Direccion Adeudo
CB-001      Zaid Hernandez Perez            123 4567        xxxxxxxxxx          ####
CB-002     Juan Hernandez Gomez          123 4448        xxxxxxxxx          ####
CB-003     Alfredo Gomez Hernandez        132 9999        xxxxxxxxxxx        ####
En la Hoja 2 necesito un campo de búsqueda que al introducir solo Juan, hernández o gomez (o la menor cantidad de caracteres posibles) me alerte o muestre que hay más de un resultado y me deje seleccionar el correcto o deseado para después traer el resto de la información correspondiente a ese registro (lo segundo no es problema).
Como información adicional les puedo decir que los datos de la columna nombre no están en orden alfabético pues en la columna anterior hay un código de cliente ordenado en forma ascendente y ademas cada día se agregan nuevos registros ala tabla.
Respuesta
1
Haz lo siguiente:
Sopongamos que en la hoja1 tienes toda esa información, con una cabecera en la fila 1 (nombre, pago, teléfono, etc) de B1 hasta F1, pues bien, copia esta cabecera en la hoja2 desde A2 hasta A6.
En la hoja2, celda A1 escribe el criterio de búsqueda tal cual lo tienes en hoja1, por ejemplo "nombre" y A2 lo dejas para escribir la palabra a buscar.
Hazte un botón para asignarle la siguiente macro:
Private Sub CommandButton1_Click()
With Worksheets("hoja2").Range("A1")
Sheets("hoja1").Range("A1:E1000").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range( _
"A1:A2"), CopyToRange:=Range("B1:F1"), Unique:=True
End With
End Sub
Si quieres introducir una parte del nombre, hazlo en la casilla A1 con asteriscos: *nombre*, si no, solo te buscará los nombre que empiecen por lo que has escrito.
Perdón, donde dije:
"Si quieres introducir una parte del nombre, hazlo en la casilla A1 con ..."
Quise decir:
"... hazlo en la casilla A2 con asteriscos:  *nombre* ..."
Gracias por la ayuda, aunque no se programar en VBA (de hecho es la primer vez que utilizo un código VBA), me di cuenta que lo que utilizamos es una especie de filtro avanzado que es muy rígido para mostrar la información, así que agregue una hoja más con una especie de formulario en la que ubique la celda para el nombre a buscar, el botón y una lista despegable para seleccionar el nombre deseado de los resultados encontrados en la hoja2, al seleccionar el cliente deseado la celda vinculada muestra la referencia y con varios buscarv liga todos los datos desde la hoja 1 y los coloca en las celdas deseadas en el formulario (hoja 3).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas