Holiii, no he podido hacer funcionar este código de Búsqueda y eliminación de datos en VBA

Los renglones donde dice cells. Find y SearchFormart me aparecen en rojo, y me dice error de sintaxis.

Sub Botón2_Haga_clic_en()
Buscardato = InputBox("dame el dato")
Range("A1").Select
Cells.find(What:=Buscardato, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=_
xlWhole , SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False_
, SearchFormat:=False).Activate
Selection.EntireRow.Delete
Range("A1").Select
End Sub

2 respuestas

Respuesta
1

Cuando se cambia de línea hay que dejar un espacio en blanco antes del guion bajo _

Así es correcto:

Sub Botón2_Haga_clic_en()
Buscardato = InputBox("dame el dato")
Range("A1").Select
Cells.Find(What:=Buscardato, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
Selection.EntireRow.Delete
Range("A1").Select
End Sub
Respuesta

Si realizas la búsqueda con el método .Find y al final pones .Activate, pero el dato buscado no existe, te va a enviar el error "91 Variable de objeto no establecido".

Para controlar el error, puedes hacerlo de la siguiente forma, en el objeto b se establece el resultado de la búsqueda, is el objeto b está vacío, significa que no encontró el dato, de lo contrario, encontró el dato y elimina la fila.

Sub Botón2_Haga_clic_en()
    Buscardato = InputBox("dame el dato")
    If Buscardato = "" Then Exit Sub
    '
    Set b = Cells.Find(Buscardato, LookIn:=xlFormulas, LookAt:=xlWhole)
    If b Is Nothing Then
        MsgBox "El dato buscado no existe", vbExclamation, "BUSCAR"
    Else
        Rows(b.Row).Delete
        MsgBox "Fila eliminada", vbInformation, "BUSCAR"
    End If
    Range("A1").Select
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas