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。首先,您必须
。将aListObject
添加到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