KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как заблокировать или защитить ячейки в Excel после ввода данных?

АвторSiluviaДата изменения

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

Блокировка или защита ячеек после ввода данных с помощью кода VBA


Блокировка или защита ячеек после ввода данных с помощью кода VBA

Например, у вас есть определённый диапазон пустых ячеек — A1:F8. Выполните следующие действия, чтобы заблокировать эти ячейки в Excel после ввода данных.

1. Сначала разблокируйте этот диапазон: выделите ячейки, щёлкните правой кнопкой мыши и выберите Установить формат ячейки в контекстном меню, затем в диалоговом окне Установить формат ячейки снимите флажок «Защита» на вкладке «Защита» и нажмите кнопку «ОК». См. скриншот:

Снимок экрана диалогового окна «Формат ячеек» с флажком «Заблокировано» на вкладке «Защита»

2. Перейдите на вкладку «Рецензирование», затем нажмите «Защитить лист». Укажите пароль для защиты этого листа.

3. Щёлкните правой кнопкой мыши по ярлыку листа и выберите в контекстном меню пункт «Просмотреть код». Затем скопируйте приведённый ниже код VBA и вставьте его в окно редактора кода. См. скриншот:

Код VBA: блокировка или защита ячеек после ввода данных

Dim mRg As Range
Dim mStr As String

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("A1:F8"), Target) Is Nothing Then
    Set mRg = Target.Item(1)
    mStr = mRg.Value
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim xRg As Range
    On Error Resume Next
    Set xRg = Intersect(Range("A1:F8"), Target)
    If xRg Is Nothing Then Exit Sub
    Target.Worksheet.Unprotect Password:="123"
    If xRg.Value <> mStr Then xRg.Locked = True
    Target.Worksheet.Protect Password:="123" 
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("A1:F8"), Target) Is Nothing Then
    Set mRg = Target.Item(1)
     mStr = mRg.Value
End If
End Sub

Снимок экрана кода VBA, вставленного в окно кода в редакторе Visual Basic для приложений Excel

Примечание: в коде «A1:F8» — это диапазон, куда нужно вводить данные, а «123» — пароль для защищённого листа. При необходимости замените их.

4. Нажмите клавиши Alt+Q одновременно, чтобы закрыть окно «Microsoft Visual Basic for Applications».

После завершения ввода данных в ячейки диапазона A1:F8 они автоматически блокируются. При попытке изменить содержимое любой ячейки этого диапазона появится предупреждающее диалоговое окно. См. скриншот:

Снимок экрана диалогового окна с сообщением об ошибке при попытке изменить заблокированную ячейку в Excel


См. также:

Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции…
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул…
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий…
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором…
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов…
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
  • Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек