这是如何从名为
TableName
:
Sub TestMe()
Range("TableName[#All]").ListObject.ListRows(5).Delete
End Sub
关于你的具体问题,情况是
Urng
您有行,它们都在表内和表外。因此,不能用
.Delete
. 写在前面
Urng.Delete
看看你自己:
Urng.Select
Stop
Unrg.Delete
在示例中,您可以看到
6
在表格和行中
18
在桌子外面:
关于删除表中不相邻的两行,我想唯一的方法是循环。它确实有点慢,但它可以工作:
Sub TestMe()
Dim cnt As Long
Dim arrRows As Variant: arrRows = Array(10, 12)
Dim table As ListObject: Set table = ActiveSheet.ListObjects("SomeTable")
For cnt = UBound(arrRows) To LBound(arrRows) Step -1
table.ListRows(arrRows(cnt)).Delete
Next cnt
'This works only when the rows are after each other, e.g. 2,3,4
table.Range.Rows("2:4").Select
Stop
table.Range.Rows("2:4").Delete
End Sub