Proteger con contraseña todas las hojas de cálculo usando VBA

Hoy vamos a ver cómo proteger y desproteger con contraseña todas las hojas de un libro Excel usando VBA.

Para ello he creado un libro con varias hojas, y en una de ellas se encuentran los botones que contienen el código que usaremos.

saber-usuarios-conectados-base-datos

A continuación os muestro el código utilizado,

Sub proteger_hojas()

Dim hoja As Worksheet

'Recorremos todas las hojas protegiéndolas con la contraseña que elijamos

For Each hoja In Worksheets

hoja.Protect "vbatotal"

Next hoja

Sheets("Hoja1").Select

End Sub

Sub desproteger_hojas()

Dim hoja As Worksheet

'Recorremos todas las hojas desprotegiéndolas

For Each hoja In Worksheets

hoja.Unprotect "vbatotal"

Next hoja

Sheets("Hoja1").Select

End Sub

Si pulsamos el botón Proteger hojas, veremos cómo las hojas quedan protegidas y cuando queramos introducir un valor en una celda, nos aparecerá un mensaje como este,

saber-usuarios-conectados-base-datos

Si ahora pulsamos el botón Desproteger hojas, podremos modificarlas sin problema.

Por último, comentar que si modificamos en el código del botón Desproteger hojas, la línea: hoja.Unprotect "vbatotal" por esta otra: hoja.Unprotect, la macro nos irá pidiendo las contraseñas de cada página para poder desbloquearlas.

saber-usuarios-conectados-base-datos

Espero que este ejemplo te haya servido para saber cómo proteger y desproteger con contraseña todas las hojas de un libro Excel usando VBA. Descárgate el archivo de ejemplo y practica.

Por último, quiero invitarte a compartir tus dudas en los comentarios o en el foro. Intentaré ayudarte en todo lo que pueda, y así aprenderemos todos.

Hasta la próxima.

Descarga el archivo del ejemplo

Últimas publicaciones

Categorías