Excel предлагает защиту ваших листов, что означает, что вы можете защитить содержимое ячеек, чтобы его нельзя было изменить. Как именно вы используете эту защиту, обсуждалось в других выпусках ExcelTips.

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

В Excel нет неотъемлемой способности защищать ввод после ввода, но вы можете создать такую ​​возможность с помощью макроса. Следующий макрос является примером того, как это можно сделать:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim MyRange As Range

Set MyRange = Intersect(Range("A1:D100"), Target)

If Not MyRange Is Nothing Then         Sheets("Sheet1").Unprotect password:="hello"

MyRange.Locked = True         Sheets("Sheet1").Protect password:="hello"

End If End Sub

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

Что он делает, так это проверяет, был ли введен правильный диапазон ячеек, в данном случае где-то в диапазоне A1: D100. Если это так, то рабочий лист не защищен, ячейка, в которую только что была введена информация, блокируется, и рабочий лист снова защищен.

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

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

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

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

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

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

link: / excelribbon-Automatically_Protecting_After_Input [Автоматическая защита после ввода].