Macro que busque un valor y lo elimine

Hola a todos,
Necesito crear una macro que en función de un valor que le de, lo busque en dos columnas de la hoja y los elimine.
He conseguido buscar el valor pero no se obtener la dirección de la celda para luego eliminar el valor.
Bueno si alguien me puede indicar, porque estoy perdido...
Gracias y saludos,
2

2 respuestas

Respuesta
1
Prueba con esta Macro, realiza lo que tu necesitas, solo debes cambiar las columnas en la que se realiza la búsqueda, en la macro están las columnas A y B.
Sub Macro1()
Dim Borrado As Boolean
Borrado = False
Valor_Buscado = InputBox("Introduzca el valor a Buscar y Eliminar", "Valor a Buscar")
On Local Error Resume Next
Do While Err.Number = 0
Columns("A:B").Select
Selection.Find(What:=Valor_Buscado, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
If Err.Number = 0 Then
ActiveCell.Select
Selection.ClearContents
Borrado = True
End If
Loop
Range("A1").Select
If Borrado = True Then
MsgBox "Valores Encontrados y Eliminados", vbInformation, "Eliminados"
Else
MsgBox "Valor No Encontrado", vbExclamation, "No Encontrado"
End If
End Sub
Muchas gracias, es exactamente lo que quería.
Lo único tengo un problemilla, si ejecuto la macro y luego no realizo la búsqueda y le doy a "Cancelar" se queda en bucle.
Ya esta solucionado con un if se resuelve el problema del bucle, me lo ha hecho un compañero del curro:
Sub SearchDel()
Dim Borrado As Boolean
Borrado = False
valor_buscado = InputBox("Introduzca el valor a Buscar y Eliminar", "Valor a Buscar")
On Local Error Resume Next
If valor_buscado <> "" Then
    Do While Err.Number = 0
    Columns("A:B").Select
    Selection.Find(What:=valor_buscado, After:=ActiveCell, LookIn:=xlFormulas, _
    LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=False, SearchFormat:=False).Activate
    If Err.Number = 0 Then
    ActiveCell.Select
    Selection.ClearContents
    Borrado = True
    End If
    Loop
    Range("A1").Select
    If Borrado = True Then
    MsgBox "Valores Encontrados y Eliminados", vbInformation, "Eliminados"
    Else
    MsgBox "Valor No Encontrado", vbExclamation, "No Encontrado"
    End If
Else
    MsgBox ("Valor no válido")
End If
End Sub
MUCHAS GRACIAS
Respuesta

¿Cómo ajustar esta macro para que me borre toda la fila del dato encontrado?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas