我对VBA有问题。我对它还很陌生,所以将不胜感激:)
我要实现的目标:
如果子表有一行填充,我希望它添加一个新行。
我尝试过的
因为我在彼此下面有10个父表,我无法使用,Cells(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
注意
我之前没有在工作表中添加任何列表对象。因此父表基本上是“伪”表,而不是listobject
首先,你要.Add
一ListObject
到ListObjects
集合。此外,您无法ListObject
通过其Name
属性设置新的属性。首先,您必须使用适当的源范围对其进行初始化。然后将其重命名。作为一个简单的例子:
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
参数,它需要考虑到我的源范围具有标头。xlNo
如果不设置为。
非常感谢你!这对我有很大帮助!