Как сохранить расширяемость таблицы, вставив строку таблицы в защищенный лист в Excel?
Функция автоматического расширения таблицы будет потеряна после защиты рабочего листа в 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
Заметки:
4. нажмите другой + Q клавиши, чтобы закрыть окно Microsoft Visual Basic для приложений.
5. Выберите ячейки в таблице, в которые нужно добавить новые данные, кроме столбца формулы, затем нажмите кнопку Ctrl + 1 , чтобы открыть Формат ячеек диалоговое окно. в Формат ячеек диалоговом окне снимите флажок Заблокированный поле, а затем щелкните OK кнопка. Смотрите скриншот:
6. Теперь защитите свой рабочий лист паролем, который вы указали в коде VBA.
С этого момента после нажатия кнопки управления формой на защищенном листе таблица будет расширяться путем вставки новой строки, как показано на скриншоте ниже.
Внимание: вы можете изменить таблицу, кроме столбца формул на защищенном листе.
Статьи по теме:
- Как сохранить слайсер сводной таблицы с прокруткой листа в Excel?
- Как объединить ячейки и сохранить форматирование ячеек в Excel?
- Как удалить дубликаты, но сохранить первый экземпляр в Excel?
Лучшие инструменты для офисной работы
Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!