Тодд разработал рабочую тетрадь, которую используют другие. Чтобы данные не испортились, он защитил как рабочий лист, так и книгу. Проблема в том, что Тодд иногда забывает защитить рабочий лист и книгу после внесения изменений. Ему интересно, есть ли способ создать визуальный индикатор, показывающий, защищен ли в настоящее время рабочий лист / книга или нет.

Конечно, самый простой способ проверить, не защищено ли что-то — это просто посмотреть на доступные варианты меню. Если есть полный набор вариантов, то рабочий лист и рабочая книга не защищены. Если какие-то важные детали недоступны («затенены»), значит, защита включена.

Еще одно простое решение — создать определяемую пользователем функцию, которая возвращает значение, указывающее, защищена ли книга или рабочий лист. Следующее поможет:

Function WksProtected(rng As Range) As String     Application.Volatile     If rng.Parent.ProtectContents Then         WksProtected = "Protected"

Else         WksProtected = "Not Protected"

End If End Function
Function WkbProtected(rng As Range) As String     Application.Volatile     If rng.Parent.Parent.ProtectStructure Then         WkbProtected = "Protected"

Else         WkbProtected = "Not Protected"

End If End Function

Чтобы использовать макросы, просто включите формулы, подобные приведенным ниже, в любом месте рабочего листа:

=WksProtected(A1)

=WkbProtected(A1)

Результатом формулы является либо «Защищено», либо «Не защищено»,

в зависимости от состояния рабочих листов и рабочей книги. Вы можете использовать условное форматирование, чтобы выделить ячейки в зависимости от того, что возвращают функции.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (3172) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:

link: / excelribbon-Visually_Showing_a_Protection_Status [Визуальное отображение состояния защиты].