Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
Proteger y desproteger hojas, Proteger y Desproteger todas las hojas

Proteger y Desproteger todas las hojas

| 6 comentarios

En algunas ocasiones en los trabajos universitarios o en la vida laboral se requiere proteger algunas hojas para que no se realicen modificaciones por accidente.

Sin embargo, en caso se requiera volver a usar y se tenga muchas hojas resultará muy tedioso tener que ir a la barra de herramientas y desprotegerla para hacer los cambios, y luego volver a protegerla.

Para solucionar esto se puede contar con una macro que proteja y desproteja automáticamente, facilitando el trabajo y reduciendo el tiempo en esta actividad.

La macro para realizar estas actividades se presenta con el siguiente ejemplo, en el que se cuenta con 2 botones (proteger y desproteger), el archivo colgado es un reporte de producción de una pequeña línea productiva donde se muestran los indicadores más importantes:

Sin t%c3%adtulo 300x142, Proteger y Desproteger todas las hojas

(Para mayor visualización de la imagen, hacer click en la misma)

Este archivo es compartido en una carpeta compartida de la empresa, donde varias áreas y personas revisan los resultados diarios, por lo cual resulta necesario tener protegido el archivo de manera que nadie más sea capaz de modificarlo.

 

PROTEGER HOJAS

Private Sub CommandButton1_Click()

'Declarar la variable

Dim hojas As Worksheet

'Ingresar contraseña

contra = InputBox("Ingrese Contraseña", "Contraseña de Desbloqueo")

'Verificar la contraseña
If contra <> "Planta" Then
MsgBox "Error, introduzca contraseña"
Else

'Determinar el número de hojas activas en el documento
For Each hojas In ActiveWorkbook.Worksheets

'Proteger las hojas

hojas.Protect Password:=contra
Next

End If
End Sub

DESPROTEGER HOJAS

Private Sub CommandButton2_Click()

'Declarar la variable

Dim hojas As Worksheet

'Ingresar contraseña

contra = InputBox("Ingrese Contraseña", "Contraseña de Desbloqueo")

'Verificar la contraseña
If contra <> "Planta" Then
MsgBox "Error, introduzca contraseña"
Else

'Determinar el número de hojas activas en el documento
For Each hojas In ActiveWorkbook.Worksheets

'Proteger las hojas

hojas.Unprotect Password:=contra
Next

End If
End Sub

 

Se adjunta el archivo Reporte produccion

6 comentarios

Deja una respuesta

Los campos requeridos estan marcados con *.