Eliminar el valor de una fila cuando coincida con el valor de un textbox

Buenos días expertos

Tengo un código con el cual elimino una fila dependiendo si coincide con un valor en un textbox pero me da un error y no finaliza, muchas gracias por su ayuda y tiempo, el código es el siguiente si pudiesen decirme en que estoy fallando se los agradecería

Private Sub Eliminar_Click()

Sheets("BD").Activate

Range("A1").Activate

While Not ActiveCell.Value = Val(txtcodigoplan)

ActiveCell.Offset(1, 0).Activate

Wend

ActiveCell.EntireRow.Delete SHIFT = xlUp

1 Respuesta

Respuesta
1

En tu macro tienes 2 problemas, 1, si no encuentra el valor, se sigue hasta el final del archivo y entonces provoca un error, porque quiere avanzar a la siguiente línea después del fin de archivo; y 2, Si tienes blanco en la celda y en el txtcodigoplan tienes un texto, cuando comparas ActiveCell.Value (esto es blanco) contra Val(txtcodigoplan) (esto también es blanco), entonces no entra al while y te borra la línea.
Por eso te recomiendo que mejor utilices lo siguiente:

Private Sub Eliminar_Click()
'Por.DAM
Sheets("BD").Activate
Set busca = Range("A:A").Find(txtcodigoplan)
    If Not busca Is Nothing Then
        Rows(busca.Row).Delete
    Else
        MsgBox "Dato no encontrado"
    End If
Set busca = Nothing
End Sub

Prueba y me comentas

Saludos. Dam
Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas