Excel引用ListObjects和ListColumns时停止工作

问题描述 投票:0回答:1

我创建了一个表并将名称设置为“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?非常感谢 !

Error Result1

ResultListColumn

excel vba
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.