Hoy tuve que dictar una clase de Excel Avanzado, y una alumna me indicó que tiene un libro de Excel con 20 hojas, que necesitaba enviarlo por correo electrónico pero con todas las hojas protegidas, y realizar ese proceso es muy tedioso si se empieza a proteger una por una. Así que buscamos la forma de realizarlo automáticamente.
Sin embargo, podemos crear un proceso en VBA (Visual Basic for Application) para ello seguimos los siguientes pasos:
1. Presionamos ALT + F11 para ingresar al Visual Basic.
2. Estando en Visual Basic vamos al menú Insertar, Módulo
3. Copiamos el siguiente código:
Sub ProtegeHoja()
'Se activa con CTRL SHIFT P
For Each Hoja In ActiveWorkbook.Sheets
Hoja.Protect "12345"
Next Hoja
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub DesProtegeHoja()
'Se activa con CTRL SHIFT U
For Each Hoja In ActiveWorkbook.Sheets
Hoja.Unprotect "12345"
Next Hoja
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
En el paso anterior hemos creado 2 procesos (Macros) uno que Protege las hojas y le coloca como contraseña "1234"; y otro proceso que desprotege las hojas.
4. Ahora regresamos al Excel, y en la etiqueta Vista, Macros, Ver Macros (También se activa con ALT + F8), seleccionamos la Macros ProtegeHoja y presionamos el botón Opciones
Luego colocamos una P mayúscula en la Tecla de método abreviado.
Realizamos el mismo proceso con DesProtegeHoja pero colocaremos una U mayúscula.
5. Finalmente cada vez que presionemos en nuestro archivo CTRL SHIFT P se bloquearan todas las hojas, y cada vez que presionemos CTRL SHIFT U se desbloquearan todas las hojas.
Espero que les sirva:
Ing. Enrique Neciosup Morales
enrique@expertosenexcelpc.com
Síguenos en Facebook
enrique@expertosenexcelpc.com
Síguenos en Facebook
No hay comentarios.:
Publicar un comentario