Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

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

Author Siluvia Last modified

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

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


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

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

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

A screenshot of the Format Cells dialog box showing the Locked checkbox under the Protection tab

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

A screenshot of the VBA code pasted into the Code window in Excel's Visual Basic for Applications editor

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

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

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

A screenshot of the prompt dialog box showing an error after trying to modify a locked cell in Excel


Связанные статьи:

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

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: 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.

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