You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求受保护工作表中添加数据后自动调整Excel表格大小的VBA代码

受保护工作表中批量扩展表格的VBA代码

以下是修改后的代码,支持指定新增行数,同时适配工作表保护状态:

Sub ExtendTable()
    Dim ws As Worksheet
    Dim tbl As ListObject
    Dim numRows As Integer
    
    ' 设置需要新增的行数,可修改为10、100等任意数值
    numRows = 10
    
    Set ws = ActiveSheet
    Set tbl = ws.ListObjects("PortfolioTracker")
    
    ' 解锁工作表
    ws.Unprotect Password:="XXXX"
    
    ' 批量添加指定行数的表格行
    tbl.ListRows.Add Count:=numRows
    
    ' 解锁新增行的单元格,确保保护后可编辑
    tbl.DataBodyRange(tbl.DataBodyRange.Rows.Count - numRows + 1, 1).Resize(numRows, tbl.ListColumns.Count).Locked = False
    
    ' 重新保护工作表,同时允许使用列表功能(确保表格操作正常)
    ws.Protect Password:="XXXX", AllowUsingPivotTables:=True, AllowSorting:=True, AllowFiltering:=True, AllowUsingLists:=True
End Sub

关键说明:

  • 直接通过ListRows.Add Count:=numRows批量添加指定行数,比循环添加更高效
  • 新增行后统一解锁对应单元格区域,确保工作表保护后仍能编辑这些行
  • 重新保护时添加了AllowUsingLists:=True等参数,保证表格的排序、筛选等功能在保护状态下仍可用
  • 可根据需求修改numRows变量的值,实现10行、100行等不同批量扩展需求

内容的提问来源于stack exchange,提问作者allthem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 10:30:48