Vamos a continuar con la aplicación del objeto Workbook utilizando sus Métodos y en esta ocasión veremos cómo se puede programar una macro para poder desbloquear o desproteger el Libro de trabajo impidiendo cambiar su estructura como mover, agregar o eliminar hojas.
Desproteger libro de Excel.
En la entrega pasada vimos cómo proteger ahora vamos a ver como devolver el libro a su estado normal. Para lograr esto vamos a utilizar el Método Unprotect.
Método Unprotect: Con la aplicación de este método, lo que estamos indicando desde VBA es la opción de Desactivar la opción de protección que se encuentra en la ficha REVISAR Proteger Libro. Al combinar este Método con el visto anteriormente de Proteger podemos asegurar la estructura del libro mientras no se ejecute una macro y en caso de ejecutar una macro en la que debamos insertar una hoja por ejemplo, podemos desproteger el libro antes de ejecutar la macro.
Desde Excel abrimos el Editor VBA (Alt + F11), insertamos un Módulo (Clic derecho sobre el proyecto Excel, Insertar, Módulo:
Ingresamos el siguiente código:
Sub DesprotegerLibro()
ThisWorkbook.Unprotect
End Sub
Queda de la siguiente manera en el Módulo:
Veamos lo que significan cada una de las líneas:
- La primera línea Sub DesprotegerLibro (), indica el inicio de la macro.
- En la segunda línea estamos utilizando del Objeto ThisWorkbook el Método Unprotect el cual nos permite deshabilitar el nivel de Protección al nivel de la estructura del Libro.
- La última línea marca el fin (End) de la Macro o Subrutina (Sub).
Ahora al ejecutar la macro podemos insertar, mover o eliminar hojas en el libro a nuestra necesidad.
Forma de citar este artículo (APA):
Invitado. (2015, mayo 31). Macro para desproteger el libro de Excel [Entrada de blog]. Recuperado de https://www.gerencie.com/macro-para-desproteger-el-libro.html
Esta macro no sirve para nada. Había otra que tenía un código más extenso, por lo que recuerdo.
La macro que hemos presentado en esta sección tiene un código muy corto, pero hace exactamente lo mismo que otras más extensas. La extensión del código no es sinónimo de calidad o funcionalidad; una macro puede ser muy extensa y no hacer nada útil. En el caso de la macro para guardar como PDF, su simplicidad se debe a que Excel ya incluye funciones predefinidas para convertir archivos a PDF, por lo tanto sólo hay que llamarlas con los parámetros adecuados y listo.
La macro que aquí se presenta es la más sencilla y básica para contar las celdas con color en Excel, pero existe otra más extensa que permite contar según el color de fondo o según el color de fuente. Esta otra macro tiene un código algo extenso porque incluye una función definida por el usuario (UDF) a la que llamaremos ContarColor, y su sintaxis es: =ContarColor(rango;[color])