Buscar siguiente en macro

Buenas tarde, tengo la siguiente macro para buscar en una tabla, introduciendo el valor de búsqueda desde un inputbox, que me funciona perfecto:

Sub busca_apellido()
'por.dam
ape = InputBox("Apellido a buscar", "BUSCAR")
If ape = "" Then Exit Sub
Set busca = Range("A:A").Find(ape)
If Not busca Is Nothing Then
Range("A" & busca.Row).Select
Else
MsgBox "Apellido no encontrado", vbExclamation, "BUSCAR"
End If
End Sub

¿Como podría modificar la misma para tener una opción de buscar siguiente, para los casos de que haya mas de una coincidencia?

O mejor aun, sería, que en una columna me escriba todas las coincidencias encontradas.

desde ya muchas gracias

1 Respuesta

Respuesta
1

Utiliza la siguiente macro, para poner los datos encontrados en una columna

Sub busca_apellido()
'por.dam
c = "D" 'columna de salida
f = 1 'fila inicial de salida
Range(Cells(f, c), Cells(Range(c & Rows.Count).End(xlUp).Row, c)).ClearContents
ape = InputBox("Apellido a buscar", "BUSCAR")
If ape = "" Then Exit Sub
Set r = Range("A:A")
Set s = r.Find(ape)
If Not s Is Nothing Then
    Cells(f, c) = s
    n = s.Address
    Do: Set s = r.FindNext(s)
        If Not s Is Nothing And s.Address <> n Then f = f + 1: Cells(f, c) = s
    Loop While Not s Is Nothing And s.Address <> n
Else
    MsgBox "Apellido no encontrado", vbExclamation, "BUSCAR"
End If
End Sub


Cambia en la macro estas líneas, para decirle en dónde quieres que empiecen los datos de salida, actualmente te los va a poner en la columna D, a partir de la fila 1

c = "D" 'columna de salida
f = 1 'fila inicial de salida

Saludos. Dam
Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas