使用 Listobjects 调整大小 table 无效

Resize table using Listobjects not working

我在 Sheet 2 中有一个名为“MyTable”的 table。 table 的行数每次都会根据数据发生变化。我想清除 table 的内容并使用宏调整它的大小,使其只有两行 - 标题行和空行。

Table标题行是从B5到K5。

我尝试了下面的代码,它清除了 table 内容并调整了大小,但是,没有根据需要调整大小。它会调整大小,但不会清除 C 列中的 table 边框。

非常感谢任何帮助。

Sub Table_Resize()

Dim rng as Range 

Sheet2.Select
Range("MyTable").ClearContents
        
Set rng = Range("MyTable[#All]").Resize(2, 10)
Sheet2.ListObjects("MyTable").Resize rng

End Sub

我认为你想做的是删除所有行。

Sub Table_ClearContents_Resize()
    Dim ws As Worksheet: Set ws = Sheets("Sheet2")
    Dim ol As ListObject: Set ol = ws.ListObjects("MyTable")
    
    ' Delete table contents
    ol.DataBodyRange.ClearContents
    
    ' Resize table
    ol.Resize Range(ol.HeaderRowRange.Resize(2).Address)
End Sub