Защита многих листов (Microsoft Excel)
У Андре есть рабочая тетрадь, содержащая 52 рабочих листа. Он хотел бы защитить рабочие листы, но не саму книгу. В настоящее время он индивидуально защищает все 52 листа. Он задается вопросом, есть ли способ защитить их всех сразу.
Единственный способ сделать это — использовать макрос. К счастью, макрос довольно короткий:
Sub ProtectAllSheets() Dim ws As Worksheet For Each ws In Worksheets ws.Protect Next End Sub
Когда вы запускаете этот макрос, все рабочие листы в книге защищены без указания пароля. (Это означает, что любой может легко снять их защиту.) Если вы хотите указать пароль, вы можете сделать это с помощью простой модификации:
Sub ProtectAllSheets() Dim ws As Worksheet For Each ws In Worksheets ws.Protect Password:="MyPassword" Next End Sub
Указанный вами пароль будет использоваться для каждого из рабочих листов, что означает, что все они будут использовать один и тот же пароль.
Вы можете легко изменить эти макросы, чтобы снять защиту со всех ваших листов, просто изменив метод .Protect на .Unprotect.
Вы также должны знать, что если ваша книга или рабочие листы используют некоторые параметры, которые исключают защиту рабочего листа (например, совместное использование), то макросы генерируют ошибку.
Совершенно другой подход — использовать стороннюю утилиту для защиты. Вы можете найти такие утилиты с помощью быстрого поиска в Интернете; примером может служить Asap Utilities (http://www.asap-utilities.com).
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (7511) применим к Microsoft Excel 2007, 2010, 2013 и 2016.