如何向 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
一个 ListObject
到 ListObjects
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
。
我想达到的效果:
如果 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
一个 ListObject
到 ListObjects
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
。