如何向 table 添加一行?

How to add a row to a table?

我想达到的效果:
如果 child table 有一行已填充,我想添加一个新行。

我试过的
因为我有 10 个 parent table 彼此下面我不能使用 Cells(Cells.Rows.Count, "E").End(xlUp).Row 因为它只会计算最后一个 parent table.

所以我尝试用 listobjects 来做。

当我尝试添加列表对象时:

With Worksheets("Uitwendige scheidingen")
    .ListObject.Add(Range("F" & NextRow + 25)).Name = "tbl_schuindak_orientatie" & Rij
End With

(Rij = parent table)

(NextRow = parent table 的开始位置)

我收到错误 438

备注
我之前没有在 sheet 中添加任何列表对象,所以 parent table 基本上是 'fake' table 而不是列表对象。

首先,你必须 .Add 一个 ListObjectListObjects collection。此外,您无法通过 Name 属性 设置新的 ListObject。您首先必须使用适当的源范围对其进行初始化。然后重命名它。举个简单的例子:

Sub Test()

Dim nxt As Long
Dim tbl As ListObject

With ThisWorkbook.Worksheets("Sheet1")
    For x = 1 To 10 Step 3
        Set tbl = .ListObjects.Add(xlSrcRange, Source:=.Range(.Cells(x, 1), .Cells(x + 1, 1)), XlListObjectHasHeaders:=xlYes)
        tbl.Name = "Table" & x
    Next x
End With

End Sub

现在将此逻辑应用到您的情况中。

注意: 看看如何应用 xlYes 告诉 XlListObjectHasHeaders 参数在这个例子中它需要考虑我的源范围有 headers。如果您没有,请设置为 xlNo