I'll improve your code to 3 lines:
ActiveSheet.Unprotect
ActiveCell.EntireRow.Delete Shift:=xlShiftUp
ActiveSheet.Protect ...
For further information, please see:
Range.Delete Method (Excel)[
^]
Note: your code is potentially dangerous, because it works no matter of context! What it means? It deletes row from currently active sheet. If you would like to delete row from desired sheet, use something like this:
Dim wsh As Worksheet
Set wsh = ThisWorkbook.Worksheets("Sheet1")
wsh.ActiveCell.EntireRow.Delete Shift:=xlShiftUp