Macro para proteger todas las hojas con "modificar objetos"

Tengo una macro para proteger todas las hojas a la vez, pero necesito incluir por defecto el Permitir modificar objetos. De una respuesta a otro usuario he pegado el comando: "UserInterFaceOnly:=True, AllowFormattingCells:=True" pero algo me falla porque no genera el efecto deseado. ¿A lo mejor no lo hago en el lugar adecuado?

La macro es la siguiente:

Sub ProtegerHojas2()

Dim i As Integer, contr As String

contr = InputBox("Contraseña para proteger las hojas")

    For i = 1 To Sheets.Count

        Sheets(i).Protect Password:=contr

    Next i

End Sub

1 respuesta

Respuesta
4

Cuando se trata de proteger hojas, lo mejor es que generes la instrucción a tu gusto con la grabadora de macros. Por ej, en mi caso solo marqué que se permita modificar objetos y obtuve estas instrucciones:

ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= True

Entonces colocándola en tu macro quedará de este modo:

Sub ProtegerHojas2()
Dim i As Integer, contr As String
contr = InputBox("Contraseña para proteger las hojas")
    For i = 1 To Sheets.Count
        Sheets(i).Protect Password:=contr, DrawingObjects:=False, Contents:=True, Scenarios:=True
    Next i
End Sub

Sdos y no olvides valorar la respuesta si el tema queda resuelto.... sino comenta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas