我有一张带有两张纸的Excel文件。工作表A包含格式化报告,工作表B包含原始数据。
在表B上有一个表可以有1到n行。此表也显示在工作表A(派生)的页面上。
如果工作表B中的表包含的行数多于工作表A中的表可以容纳哪些行,那么如何在工作表A上自动创建新页面?
答案 0 :(得分:0)
不太确定你为什么要这样做,但这样的事情可能有效:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
dim ws as worksheet
dim tbl as listobject
dim MaxRows as integer
set ws = thisworkbook.sheets("SheetB") 'Change with worksheet name
set tbl = ws.listobjects(1)
MaxRows = 22 'Number of Max Rows in table
if tbl.listrows.count > MaxRows
' Add code to add new 'page on Sheet A'
end if
End Sub
这将在SheetB中的任何更改上运行(将此代码放在工作表模块中)然后在运行任何代码(如果它已超过最大数量)之前计算表B上表中的条目数。