Mejorar macro para eliminar datos

Desde antemano tengas buenos días a los miembros de este foro, en esta ocasión recurro a uds, para me brinde su apoyo y comprender cual es mi error en la macro que detallo a continuación:

Sub AuxiliarPDT602()
With Sheets("PDT 602")
hoja = "PDT 602"
pass = "A"
ActiveSheet.Unprotect pass
f1 = 8
Do Until Trim(.Range("A" & f1)) = "": f1 = f1 + 1: Loop
f2 = .Range("A" & Rows.Count).End(xlUp).Row
If f2 > f1 Then .Range(f1 & ":" & f2).Delete
ActiveSheet.Protect pass
End With

Cuando ejecuto la macro desde la hoja principal como se aprecia en la imagen, la ejecución de la macro me emite ERROR, pero cual me ubicado en la misma hoja PDT 602 y realizo la macro directamente, si la realiza.

Mensaje de error:

Ejecución correcta

1 respuesta

Respuesta
1

Hay que quitar la palabra "Activesheet", ya que si estás en otra hoja, estás desprotegiendo la hoja activa y no la hoja "PDT 602"

Quedaría así:

Sub AuxiliarPDT602()
    With Sheets("PDT 602")
        hoja = "PDT 602"
        pass = "A"
        .Unprotect pass
        f1 = 8
        Do Until Trim(.Range("A" & f1)) = "": f1 = f1 + 1: Loop
        f2 = .Range("A" & Rows.Count).End(xlUp).Row
        If f2 > f1 Then .Range(f1 & ":" & f2).Delete
        .Protect pass
    End With
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas