我创建了一个表,并将名称设置为“ Table1”,如下所示:
ID ----------------------名称
1 -------------------彼得·帕克
2 -------------------神奇女侠
3 ------------------- Thanos
我试图通过两种方式引用ListObjects对象:
方法1:
MsgBox Range("Table1").ListObject.Name
方法2:
MsgBox ActiveSheet.ListObjects(1).Name
两种方式都得到相同的结果:“表1”
但是当我关闭excel应用程序时,方法2导致excel停止工作。
而且当我使用方式1但要引用ListColumns
MsgBox Range("Table1").ListObject.ListColumns("Name").Range(2)
在关闭excel时,我遇到了类似的崩溃“ Excel停止工作” ,尽管结果仍然正确:“ Peter Parker”
为什么会出现该错误以及如何引用ListColumns? 非常感谢!
答案 0 :(得分:0)
引用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