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

Как сохранить возможность расширения таблицы за счёт вставки строк на защищённом листе в Excel?

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

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

Сохранение возможности расширения таблицы путём вставки строки таблицы на защищённом листе с помощью кода VBA


Сохранение возможности расширения таблицы путём вставки строки таблицы на защищённом листе с помощью кода VBA

Как показано на снимке экрана ниже, на вашем листе расположена таблица с именем Table1, а её последний столбец — это формула. Чтобы защитить лист от изменений в этом столбце, но при этом разрешить расширение таблицы за счёт добавления новых строк и ввода данных в новые ячейки, выполните следующие действия.

Снимок экрана таблицы с именем Таблица1 на листе с отображаемым столбцом формул

1. Нажмите Разработчик > Вставить > Кнопка (элемент управления формы), чтобы добавить на лист элемент управления формы.

Снимок экрана вставки кнопки элемента управления формой в Excel с использованием вкладки «Разработчик»

2. В появившемся диалоговом окне Назначить макрос нажмите кнопку Создать.

Снимок экрана диалогового окна «Назначить макрос» в Excel с выделенной кнопкой «Создать»

3. В окне Microsoft Visual Basic для приложений скопируйте и вставьте приведённый ниже код VBA между строками Sub и End Sub в окне Код.

Код VBA: Сохранение возможности расширения таблицы путём вставки строки таблицы на защищённом листе

'Update by ExtendOffice 20220826
    Dim xRg, tableRg As Range
    Dim xRowCount As Integer
    Dim pswStr As String
    pswStr = "123"
    On Error Resume Next
    Application.ScreenUpdating = False
    ActiveSheet.Unprotect Password:=pswStr

    Set tableRg = ActiveSheet.ListObjects("Table4").Range
    xRowCount = tableRg.Rows.Count
    
    Set xRg = Range("Table4[[#Headers],[Total]]").Offset(1, 0)
    Set yRg = xRg.Resize(xRowCount, 1)
    xRg.Resize(xRowCount - 1, 1).AutoFill Destination:=yRg, Type:=xlFillDefault

    ActiveSheet.Protect Password:=pswStr, DrawingObjects:=False, _
                    Contents:=True, Scenarios:=False, _
                    AllowFormattingCells:=True, AllowFormattingColumns:=True, _
                    AllowFormattingRows:=True, AllowInsertingColumns:=True, _
                    AllowInsertingRows:=True, AllowInsertingHyperlinks:=True, _
                    AllowDeletingColumns:=True, AllowDeletingRows:=True, _
                    AllowSorting:=True, AllowFiltering:=True, _
                    AllowUsingPivotTables:=True
    Application.ScreenUpdating = True

Примечания:

1) В коде число «123» — это пароль, который будет использоваться для защиты листа.
2) Не забудьте изменить имя таблицы и имя столбца, содержащего формулу, которую требуется защитить.

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

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

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

6. Теперь защитите лист с помощью пароля, заданного в коде VBA.

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

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

Примечание: на защищённом листе можно редактировать таблицу, за исключением столбца с формулой.


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

Лучшие инструменты повышения продуктивности в 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-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек