Как вставить или удалить строки в защищенном листе?
При работе с конфиденциальными или общими данными в таблице Excel защита листа является часто используемым методом, чтобы избежать случайных или несанкционированных изменений. Однако, по замыслу, защита листа также ограничивает определенные операции, такие как вставка или удаление строк, особенно в заблокированных ячейках. Многие пользователи часто сталкиваются с проблемой, когда им нужно разрешить редактирование, например, вставку или удаление строк, сохраняя при этом остальную часть листа защищенной. В этом руководстве показаны практические способы вставки или удаления строк на защищенном листе и обсуждаются их варианты применения, меры предосторожности и альтернативные решения, чтобы помочь вам безопасно и эффективно управлять своими данными.
Вставка или удаление строк в защищенном листе
VBA: Временное снятие защиты, вставка/удаление и автоматическое повторное защита
Вставка или удаление строк в защищенном листе
Это решение лучше всего подходит для ситуаций, когда вы хотите, чтобы пользователи имели ограниченные права на редактирование, такие как вставка или удаление строк, сохраняя при этом большую часть вашего листа защищенной. Оно позволяет определенным строкам или разделам данных оставаться гибкими и редактируемыми, в то время как остальная часть листа защищена от случайных изменений или удалений.
Следуйте этим пошаговым инструкциям, чтобы разрешить вставку и удаление строк в защищенном листе:
1. Выберите все строки, которые вы хотите, чтобы пользователи могли вставлять или удалять. Этот процесс определяет, где в вашем защищенном листе будут разрешены эти операции. После выбора строк щелкните правой кнопкой мыши по выделению, затем выберите Формат ячеек из контекстного меню. См. скриншот:
2. В появившемся диалоговом окне Формат ячеек перейдите на вкладку Защита. Здесь снимите флажок Заблокировано, чтобы разблокировать эти конкретные ячейки или строки. Разблокировка важна; в противном случае пользователи все равно не смогут вносить изменения даже с другими разрешениями. Будьте осторожны, не разблокируйте чувствительные области, которые вы хотите оставить защищенными. См. скриншот:
3. Нажмите OK, чтобы закрыть диалоговое окно. Далее перейдите на вкладку Рецензирование в ленте Excel, нажмите Защитить лист, чтобы включить защиту листа. См. скриншот:
4. В появившемся диалоговом окне Защитить лист вы увидите список с надписью Разрешить всем пользователям этого листа. Установите флажки Вставить строки и Удалить строки. При необходимости введите пароль для защиты листа и подтвердите его, когда будет предложено. Этот шаг важен для предоставления только желаемых прав на редактирование пользователям, обеспечивая защиту остальной части листа. См. скриншот:
5. Наконец, нажмите OK, чтобы включить защиту листа с новыми настройками. В результате теперь можно вставлять или удалять только указанные строки в соответствии с предоставленными разрешениями и разблокировками, в то время как остальная часть листа остается неизменной. См. скриншот:
Этот метод хорошо работает для большинства базовых потребностей, но обратите внимание, что он не позволяет пользователям вставлять или удалять строки за пределами разблокированных областей с предоставленными разрешениями. Всегда проверяйте, какие ячейки разблокированы перед включением защиты, чтобы избежать непреднамеренного раскрытия данных или недостаточной защиты.
Если вам нужно разрешить вставку или удаление по более широким регионам листа или вы хотите больше автоматизации, рассмотрите решения на основе 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
Повысьте свои навыки работы в 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 и PowerPoint плюс Office Tab Pro
- Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
- Совместная работа — максимальная эффективность между приложениями Office
- 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
- Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек