Excel Avanzado

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

Excel Avanzado

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ítulo

(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

  1. me fue de gran ayuda, me gustaria que sigan posteando mas cosas interesantes, como por ejemplo macros avanzado con mas ejemplos

  2. excelente muchas gracias lo que mas me gusto es que fuera de la hoja 2 solo es llamar la macro y listo muchas gracias

    • cómo le hiciste para que te funcione? podrías pegar tu código? a mi no me funcionó

      • Puede que tengas que cambiar los “ por " y los ‘ por '. Hasta que no tengas ninguna línea de código roja.

  3. No se donde puedo localizar hojas de calculo,no me aparece el trabajo de varios días. Ayer al guardar una hoja salio guardar como le di un clip y me desapareció la hoja no he sido capaz de localizarla.
    Estaría muy agradecida con su ayuda.

  4. Genial. funciona perfectamente.
    Si puedes, añade la opción de proteger sin contraseña.
    Gracias

Deja una respuesta

Los campos requeridos estan marcados con *.