Перейти к основному содержанию
 

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

Автор: Силувия Последнее изменение: 2022 июля 08 г.

Функция автоматического расширения таблицы будет потеряна после защиты рабочего листа в Excel. Например, на защищенном листе есть таблица с именем Table1, когда вы вводите что-либо под последней строкой, таблица не будет автоматически расширяться, чтобы включить новую строку. Есть ли способ сохранить расширяемую таблицу, вставив новую строку в защищенный рабочий лист? Метод, описанный в этой статье, может помочь вам в этом.

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


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

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

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

2. Во всплывающем Назначить макрос диалогового окна, нажмите Новое .

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

Код 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. нажмите другой + Q клавиши, чтобы закрыть окно Microsoft Visual Basic для приложений.

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

6. Теперь защитите свой рабочий лист паролем, который вы указали в коде VBA.

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

Внимание: вы можете изменить таблицу, кроме столбца формул на защищенном листе.


Статьи по теме:

Лучшие инструменты для офисной работы

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

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


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

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