Excel 如何向表中添加行?

Excel 如何向表中添加行?,excel,vba,listobject,Excel,Vba,Listobject,我想要实现的目标: 如果子表中有一行已填充,我想添加一个新行 我尝试过的 因为我有10个父表在彼此下面,所以我不能使用单元格(Cells.Rows.Count,“E”).End(xlUp).Row,因为它只计算最后一个父表 所以我试着用listobjects来做 当我尝试添加listobject时: With Worksheets("Uitwendige scheidingen") .ListObject.Add(Range("F" & NextRow + 25)).Name =

我想要实现的目标:
如果子表中有一行已填充,我想添加一个新行

我尝试过的
因为我有10个父表在彼此下面,所以我不能使用
单元格(Cells.Rows.Count,“E”).End(xlUp).Row
,因为它只计算最后一个父表

所以我试着用listobjects来做

当我尝试添加listobject时:

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

(NextRow=父表的开始位置)

我得到了错误438

注意

我以前没有在工作表中添加任何listobjects,因此父表基本上是“假”表,而不是listobjects。

首先,您必须
。将
a
ListObject
添加到
listobjects
集合中。此外,您不能通过它的
Name
属性设置新的
ListObject
。您首先必须使用适当的源范围对其进行初始化。然后将其重命名为。作为一个简单的例子:

现在把这个逻辑应用到你的情况


注意:查看如何应用
xlYes
告知
xlistObjectHashHeaders
参数在本例中需要考虑“我的源区域有头”。如果您没有设置,则设置为
xlNo

您没有通过其名称属性设置
ListObject
。你先加上它,然后设定它的名字。你是这样说的吗
.ListObject.Add(Range(“F”&NextRow+25))
因为这仍然会给我带来相同的错误:/我在下面添加了一个简化的示例。非常感谢!这对我会有很大帮助!
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