Proteger una hoja de Excel desde una macro

La seguridad de los datos es muy importante y hoy te mostraré macro para proteger una hoja de Excel. Utilizaremos una subrutina VBA para proteger una hoja con contraseña y otra subrutina para desprotegerla.

Crear la macro

En primer lugar debemos abrir el Editor de Visual Basic e introducir el siguiente código dentro de un nuevo módulo:

Macro para proteger una hoja de Excel

Observa que para proteger una hoja de Excel utilizamos el método Protect del objeto ActiveSheet y entre paréntesis especificamos la contraseña con la que deseamos establecer la protección. Tenemos un procedimiento similar para desproteger una hoja de Excel solo que utilizamos el método Unprotect del objeto ActiveSheet.

Macro para proteger una hoja de Excel

En el código ejemplo se ha especificado la Hoja3 para ser protegida por la macro. Para probar nuestra subrutina debemos ir a la ficha Programador y pulsar el botón Macros. De la lista de macros disponibles seleccionamos ProtegerHoja y pulsamos el botón Ejecutar.

Proteger una hoja de Excel desde una macro

La Hoja3 estará protegida con la contraseña especificada y cuando quieras editar alguna celda se mostrará un mensaje indicando que las celdas están protegidas y que solamente son de lectura. Para desproteger la hoja debemos ejecutar la macro llamada DesprotegerHoja de la misma manera como ejecutamos la macro anterior.

Proteger acceso al Editor de Visual Basic

El código de nuestra macro contiene la contraseña con la cual se protege y desprotege la hoja por lo que es importante restringir el acceso al código de nuestra macro. Para proteger el acceso al Editor de Visual Basic debes hacer clic derecho sobre el nombre del proyecto VBA y seleccionar la opción Propiedades de VBAProject.

Macro para desproteger una hoja de Excel

En la sección Protección debemos macar la opción Bloquear proyecto para visualización y finalmente indicar una contraseña.

Artículos relacionados
Proteger archivo Excel con contraseña