Excel le permite proteger y desproteger hojas de trabajo. El propósito, por supuesto, es permitir que otros usen su libro de trabajo, pero no modificar ciertas celdas dentro de cada hoja de trabajo.

Dado que la protección se realiza a nivel de hoja de trabajo, puede ser un gran problema revisar cada hoja de trabajo en un libro y protegerlas o desprotegerlas. Si tiene 25 hojas de trabajo, debe activar cada hoja de trabajo, hacer la protección o desprotección y pasar a la siguiente.

Un método que requiere menos tiempo para proteger cada hoja de trabajo en un libro de trabajo es usar una macro para hacer el trabajo real. La siguiente macro funcionará:

Sub ProtectAllSheets()

Dim ws As Worksheet     Dim sOrigSheet As String     Dim sOrigCell As String

Application.ScreenUpdating = False     sOrigSheet = ActiveSheet.Name     sOrigCell = ActiveCell.Address

For Each ws In Worksheets         ws.Select         ws.Protect Password:="Password"

Next ws

Application.GoTo Reference:=Worksheets("" _       & sOrigSheet & "").Range("" & sOrigCell & "")

Application.ScreenUpdating = True End Sub

La macro para desproteger todas las hojas de trabajo es solo ligeramente diferente:

Sub UnProtectAllSheets()

Dim ws As Worksheet     Dim sOrigSheet As String     Dim sOrigCell As String

Application.ScreenUpdating = False     sOrigSheet = ActiveSheet.Name     sOrigCell = ActiveCell.Address

For Each ws In Worksheets         ws.Select         ws.Unprotect Password:="Password"

Next ws

Application.GoTo Reference:=Worksheets("" _       & sOrigSheet & "").Range("" & sOrigCell & "")

Application.ScreenUpdating = True End Sub

Si bien estas macros funcionarán bien, hay un par de advertencias.

Primero, debe asegurarse de que la variable Contraseña en cada macro esté configurada con la contraseña adecuada para sus hojas de trabajo. (Esto supone, por supuesto, que todas las hojas de trabajo usan la misma passwords.)

La segunda advertencia es que, dado que la macro debe incluir la contraseña, la seguridad general de su libro de trabajo puede verse comprometida; cualquiera que pueda mostrar las macros sabrá cuáles son las contraseñas de sus libros de trabajo.

Como solución a este último problema, podrías modificar las macros para que te pidan una contraseña para usar en su trabajo. La siguiente sería la versión de la macro que protege las hojas de trabajo:

Sub ProtectAllSheetsPass()

Dim ws As Worksheet     Dim sOrigSheet As String     Dim sOrigCell As String     Dim sPWord As String

Application.ScreenUpdating = False     sOrigSheet = ActiveSheet.Name     sOrigCell = ActiveCell.Address

sPWord = InputBox("What password?", "Protect All")

If sPWord > "" Then         For Each ws In Worksheets             ws.Select             ws.Protect Password:=sPWord         Next ws     End If     Application.GoTo Reference:=Worksheets("" _       & sOrigSheet & "").Range("" & sOrigCell & "")

Application.ScreenUpdating = True End Sub

La macro muestra un cuadro de entrada que solicita la contraseña. Luego, se usa la misma contraseña para proteger todas las hojas de trabajo del libro. Se puede realizar el mismo tipo de cambio en la macro que desprotege todas las hojas 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 (13075) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365. Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:

link: / excel-Unprotecting_Groups_of_Worksheets [Desproteger grupos de hojas de trabajo].