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

Как вставить или удалить строки в защищенном листе? 

Author: Xiaoyang Last Modified: 2025-08-07

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

Вставка или удаление строк в защищенном листе

VBA: Временное снятие защиты, вставка/удаление и автоматическое повторное защита


Вставка или удаление строк в защищенном листе

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

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

1. Выберите все строки, которые вы хотите, чтобы пользователи могли вставлять или удалять. Этот процесс определяет, где в вашем защищенном листе будут разрешены эти операции. После выбора строк щелкните правой кнопкой мыши по выделению, затем выберите Формат ячеек из контекстного меню. См. скриншот:

a screenshot of selecting Format Cells after right-clicking on the selected rows

2. В появившемся диалоговом окне Формат ячеек перейдите на вкладку Защита. Здесь снимите флажок Заблокировано, чтобы разблокировать эти конкретные ячейки или строки. Разблокировка важна; в противном случае пользователи все равно не смогут вносить изменения даже с другими разрешениями. Будьте осторожны, не разблокируйте чувствительные области, которые вы хотите оставить защищенными. См. скриншот:

a screenshot of unchecking the Locked option in the Format Cells dialog box

3. Нажмите OK, чтобы закрыть диалоговое окно. Далее перейдите на вкладку Рецензирование в ленте Excel, нажмите Защитить лист, чтобы включить защиту листа. См. скриншот:

a screenshot of enabling the Protect Sheet feature

4. В появившемся диалоговом окне Защитить лист вы увидите список с надписью Разрешить всем пользователям этого листа. Установите флажки Вставить строки и Удалить строки. При необходимости введите пароль для защиты листа и подтвердите его, когда будет предложено. Этот шаг важен для предоставления только желаемых прав на редактирование пользователям, обеспечивая защиту остальной части листа. См. скриншот:

a screenshot of the Protect Sheet dialog box with password specified and Insert Row and Delete Row options checked

5. Наконец, нажмите OK, чтобы включить защиту листа с новыми настройками. В результате теперь можно вставлять или удалять только указанные строки в соответствии с предоставленными разрешениями и разблокировками, в то время как остальная часть листа остается неизменной. См. скриншот:

a screenshot of rows that can be deleted and inserted in a protected worksheet

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

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


VBA: Временное снятие защиты, вставка/удаление и автоматическое повторное защита

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

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

1. Откройте лист, где вы хотите включить эту функциональность. Нажмите вкладку Разработчик (если вкладка Разработчик не видна, вы можете включить ее через Файл > Параметры > Настроить ленту), а затем нажмите Visual Basic. В открывшемся окне редактора VBA выберите Вставить > Модуль и вставьте следующий код в модуль:

Sub InsertRowInProtectedSheet()
    Dim ws As Worksheet
    Dim pwd As String
    Set ws = ActiveSheet
    pwd = InputBox("Enter sheet password:", "KutoolsforExcel")
    
    If pwd = "" Then Exit Sub
    
    On Error Resume Next
    ws.Unprotect Password:=pwd
    
    If Err.Number <> 0 Then
        MsgBox "Incorrect password or unprotect failed!", vbExclamation
        Exit Sub
    End If
    
    On Error GoTo 0
    Dim insertRow As Integer
    insertRow = Application.InputBox("Enter row number to insert:", "KutoolsforExcel", Type:=1)
    
    If insertRow > 0 Then
        ws.Rows(insertRow).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        MsgBox "Row inserted at " & insertRow, vbInformation
    End If
    
    ws.Protect Password:=pwd, AllowInsertingRows:=True, AllowDeletingRows:=True
End Sub

Sub DeleteRowInProtectedSheet()
    Dim ws As Worksheet
    Dim pwd As String
    Set ws = ActiveSheet
    pwd = InputBox("Enter sheet password:", "KutoolsforExcel")
    
    If pwd = "" Then Exit Sub
    
    On Error Resume Next
    ws.Unprotect Password:=pwd
    
    If Err.Number <> 0 Then
        MsgBox "Incorrect password or unprotect failed!", vbExclamation
        Exit Sub
    End If
    
    On Error GoTo 0
    Dim delRow As Integer
    delRow = Application.InputBox("Enter row number to delete:", "KutoolsforExcel", Type:=1)
    
    If delRow > 0 Then
        ws.Rows(delRow).Delete
        MsgBox "Row " & delRow & " deleted.", vbInformation
    End If
    
    ws.Protect Password:=pwd, AllowInsertingRows:=True, AllowDeletingRows:=True
End Sub

2. Закройте редактор VBA. Чтобы вставить строку, нажмите Alt + F8, чтобы открыть диалоговое окно Макрос, выберите InsertRowInProtectedSheet и нажмите Выполнить; чтобы удалить строку, выберите DeleteRowInProtectedSheet и нажмите Выполнить. Вам будет предложено ввести пароль листа и указать, какую строку вставить или удалить. Этот метод сразу после операции снова защищает лист, чтобы обеспечить постоянную безопасность. Обязательно сохраните свою книгу как файл с поддержкой макросов (.xlsm) для будущего использования.

Советы:

  • Всегда убедитесь, что у вас правильный пароль перед запуском макроса, так как неверный пароль заблокирует автоматизацию.
  • Если возникает ошибка, проверьте входные значения и убедитесь, что макросы включены в настройках Центра доверия Excel.

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

🤖 Kutools AI Aide: Переворот в анализе данных на основе: Интеллектуальное выполнение   |  Сгенерировать код  |  Создать Пользовательские Формулы  |  Анализ данных и генерация диаграмм  |  Вызов Kutools Functions
Популярные функции: Найти, выделить или отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячейки без потери данных   |   Округлить...
Супер ПОИСК: VLookup с несколькими критериями    VLookup с несколькими значениями  |   Многолистовой поиск   |   Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскр. список   |  Зависимый раскрывающийся список   |  Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки   |  Дизайн листа   |   Улучшенная строка формулы    Управление книгой и листами   |  Библиотека автотекста (Auto Text)   |  Выбор даты   |  Объединить данные   |  Шифрование/Расшифровка ячеек    Отправить письмо по списку   |  Супер фильтр   |   Специальный фильтр (фильтр по жирному/курсиву/зачеркиванию...) ...
Топ–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% и сократите сотни кликов мышью ежедневно!