我创建了一个表并将名称设置为“Table1”,如下所示:
ID ----------------------姓名
1 -------------------彼得帕克
2 -------------------神奇女侠
3 ------------------- Thanos
我尝试以两种方式引用ListObjects对象:
方式1:
MsgBox Range("Table1").ListObject.Name
方式2:
MsgBox ActiveSheet.ListObjects(1).Name
两种方式都给出了相同的结果:“表1”
但是当我关闭excel应用程序时,Way 2导致excel停止工作。
而且当我使用Way 1但是引用ListColumns时
MsgBox Range("Table1").ListObject.ListColumns("Name").Range(2)
虽然结果还是正确的,但是当我关闭excel时,我得到了类似的崩溃“Excel停止工作”:“Peter Parker”
为什么我得到了这个错误以及如何引用ListColumns?非常感谢 !
引用ListObject
的最佳方式是通过变量。
Dim tbl as ListObject
Set tbl = Sheets("Your Sheet Name").ListObjects("Your Table Name")
所以现在你可以通过变量轻松地引用你的表格(以及ListColumns
)。
tbl.ListColumns(2).DataBodyRange ' returns DataBodyRange of the 2nd column