H o l a:
En la macro tienes que desproteger la hoja, que se inserte la fila y después proteger la hoja:
Sub InsertarFila()
'Por.Dante Amor
Application.ScreenUpdating = False
Set celda = ActiveCell
If celda.Value = "" Then
MsgBox "Selecciona una celda con datos"
Exit Sub
End If
If celda.Column <> 1 Then
MsgBox "Selecciona una celda de la columna 'A'"
Exit Sub
End If
If celda.Row < 6 Then
MsgBox "Selecciona una celda de la fila 6 en adelante"
Exit Sub
End If
'
'existe = False
'For Each c In Range("B" & celda.Row & ":Z" & celda.Row)
' If c.HasFormula Then
' existe = True
' Exit For
' End If
'Next
'If existe = False Then
' MsgBox "La fila seleccionada no contiene fórmulas"
' Exit Sub
'End If
'
ActiveSheet.Unprotect "abc"
filas = 0
If celda.MergeCells Then
filas = celda.MergeArea.Rows.Count - 1
End If
f = celda.Row
Do While Cells(f, "A") <> "" Or Cells(f, "A").MergeCells = True
f = f + 1
Loop
'
Rows(celda.Row & ":" & celda.Row + filas).Copy
n = f - 1 - filas
Rows(n).Insert Shift:=xlDown
For Each c In Range("A" & f & ":Z" & f + filas)
If c.HasFormula = False Then
c.Value = ""
End If
Next
ActiveSheet.Protect "abc"
Application.CutCopyMode = False
End Sub
Cambia en la macro "abc" por el password de la hoja.