Adjunto un libro que contiene el siguiente codigo:
- Código: Seleccionar todo
Sub Proteger()
Dim HojaInicial As String, Clave As String
On Error GoTo Mensaje
Clave = InputBox("Escribe la clave para proteger: ", "Proteger")
'PROTEGER LIBRO
ActiveWorkbook.Protect Password:=Clave, Structure:=True, Windows:=False
'PROTEGER HOJAS
Application.ScreenUpdating = False 'Para congelar la pantalla
HojaInicial = ActiveSheet.Name 'Guardamos el nombre de la hoja de inicio
For Each Sheet In Sheets
Sheet.Protect Password:=Clave, DrawingObjects:=True, Contents:=True, Scenarios:=True
Next
ActiveWorkbook.Sheets(HojaInicial).Select 'Regresamos a la hoja inicial
Application.ScreenUpdating = True 'Para actualizar la pantalla
Exit Sub
Mensaje:
MsgBox "El proceso se interrumpio porque la contraseña no es valida para todos los elementos.", vbCritical + vbOKOnly, "Proceso Interrumpido"
End Sub
Sub Desproteger()
Dim HojaInicial As String, Clave As String
On Error GoTo Mensaje
Clave = InputBox("Escribe la clave para desproteger: ", "Desproteger")
'DESPROTEGER LIBRO
ActiveWorkbook.Unprotect Password:=Clave
'DESPROTEGER HOJAS
Application.ScreenUpdating = False 'Para congelar la pantalla
HojaInicial = ActiveSheet.Name 'Guardamos el nombre de la hoja de inicio
For Each Sheet In Sheets
Sheet.Unprotect Password:=Clave
Next
ActiveWorkbook.Sheets(HojaInicial).Select 'Regresamos a la hoja inicial
Application.ScreenUpdating = True 'Para actualizar la pantalla
Exit Sub
Mensaje:
MsgBox "El proceso se interrumpio porque la contraseña no es valida para todos los elementos.", vbCritical + vbOKOnly, "Proceso Interrumpido"
End Sub
Debes habilitar las macros al abrir este libro
Presiona Alt + F8 para ver la lista de macros disponibles
Para Proteger todo:
Ejecuta la macro "Proteger" y escribe la clave
Verifica que todas las hojas esten protegidas e incluso el libro
Para desproteger todo:
Ejecuta la macro "Desproteger" y escribe la clave
Verifica que todas las hojas esten desprotegidas e incluso el libro
Prueba ejecutando las macros desde cualquier hoja del libro, siempre te devolvera a la misma hoja inicial. Si te aparece un error al desproteger, es porque alguna hoja o el libro esta protegido con una contraseña diferente a la que ingresaste, y en ese momento se interrumpio la macro. Es posible que haya mas hojas con la contraseña que indicaste, sin embargo no se desprotegieron porque antes de llegar a ellas se interrumpio el proceso.
Nos cuentas si te resulto.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.