Barry puede bloquear una hoja de trabajo para que solo aquellos a quienes les da la contraseña puedan editarla. Si la persona ingresa la contraseña, realiza ediciones y luego guarda el libro de trabajo que contiene la hoja de trabajo, esa hoja de trabajo queda desprotegida. Barry se pregunta si hay alguna manera de que, al guardar la hoja de trabajo, Excel pueda recordarle al usuario que vuelva a proteger la hoja de trabajo con la misma contraseña que se utilizó originalmente.

Hay varias formas de resolver este problema. Si ha asignado una contraseña a una hoja de trabajo, simplemente debe asegurarse de que se use la misma contraseña para volver a proteger la hoja de trabajo cuando se guarde el libro. Esto se hace fácilmente mediante una macro que se puede vincular al evento BeforeSave. Esta macro debe agregarse al objeto ThisWorkbook:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Sheets("ABC").Protect ("XYZ")

End Sub

Este ejemplo asume que la hoja de trabajo que desea proteger se llama ABC y que la contraseña utilizada para proteger la hoja de trabajo es XYZ. Querrá cambiar estos valores para reflejar su hoja de trabajo y contraseña reales.

Tenga en cuenta que esta macro vuelve a proteger automáticamente la hoja de trabajo cada vez que se guarda el libro. Por lo tanto, si un usuario tiene una sesión de trabajo larga con la hoja de trabajo y guarda el libro de trabajo muchas veces durante esa sesión, deberá desproteger la hoja de trabajo con bastante frecuencia. Si lo prefiere, puede crear una macro que preguntará si la hoja de trabajo debe volver a protegerse:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

If MsgBox("Reprotect Sheet ABC?", vbYesNoCancel) = vbYes Then         Sheets("ABC").Protect ("XYZ")

End If End Sub

Por supuesto, este enfoque significa que es posible que una hoja de trabajo no esté protegida nuevamente, si el usuario opta por no volver a protegerla.

Otro enfoque no implica el uso de macros en absoluto, sino que utiliza una forma diferente de protegerse. En la protección de hoja de trabajo tradicional, formatea celdas individuales como desbloqueadas, luego aplica protección a la hoja de trabajo para que las celdas bloqueadas no se puedan cambiar.

Si no marca ninguna celda como desbloqueada (que parece ser lo que está haciendo Barry), no se puede cambiar nada en la hoja de trabajo sin la contraseña.

Excel en realidad le permite proteger rangos individuales de celdas dentro de una hoja de trabajo. Siga estos pasos:

  1. Muestre la pestaña Revisar de la cinta.

  2. Haga clic en Permitir a los usuarios editar rangos. Excel muestra el cuadro de diálogo Permitir a los usuarios editar rangos. (Ver figura 1)

  3. Haga clic en el botón Nuevo. Excel muestra el cuadro de diálogo Nuevo rango. (Ver figura 2)

  4. En el cuadro Título, ingrese el nombre que desea usar para este rango.

  5. En el cuadro Se refiere a celdas, ingrese el rango que desea que los usuarios puedan editar. (Si hay varios rangos en los que desea usar esta misma contraseña, puede separar esos rangos con una coma).

  6. En el cuadro Contraseña de rango, ingrese la contraseña que desea dar a sus usuarios.

  7. Haga clic en Aceptar. Se le pedirá nuevamente que ingrese la contraseña.

  8. Introduzca la contraseña que utilizó en el paso 6 por segunda vez. El rango ahora aparece en el cuadro de diálogo Permitir a los usuarios editar rangos.

  9. Haga clic en Aceptar para cerrar el cuadro de diálogo Permitir a los usuarios editar rangos.

  10. Proteja su hoja de trabajo como lo haría normalmente.

Solo hay una cosa que debe recordar cuando proteja su hoja de trabajo (paso 10). Como no ha desbloqueado ninguna celda, todas las celdas de la hoja de trabajo estarán protegidas. Debe asegurarse de que la protección que aplique permita seleccionar celdas bloqueadas. Si, una vez protegida la hoja de trabajo, un usuario intenta editar una celda que se encuentra en el rango que especificó en el paso 5, se le pedirá la contraseña que especificó en el paso 6. Cuando la proporcione, podrá editar cualquier celda en el rango.

Lo bueno de este enfoque es que la protección de la hoja de trabajo no se elimina; la hoja de trabajo sigue estando protegida porque el usuario nunca eliminó esa protección. Por lo tanto, el usuario nunca necesita conocer la contraseña de toda la hoja de trabajo. Cuando el usuario cierra y vuelve a abrir el libro de trabajo, la hoja de trabajo aún está protegida, tal como lo necesita. Además, no tiene el inconveniente inevitable de las macros: un usuario puede desactivarlas cuando abre el libro de trabajo.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (11973) se aplica a Microsoft Excel 2007, 2010, 2013 y 2016.

Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:

link: / excel-Forcing_a_Worksheet_to_be_Protected_Again [Forzando a que una hoja de trabajo sea protegida nuevamente].