对于Excel中的给定ActiveCell,如何激活VBA中的表名工具设计选项卡时,VBA如何返回显示在属性分组中的表名称。因此,例如在即时窗口:使用VBA返回与给定的ActiveCell选择对应的表名称
?ActiveSheet.ListObjects(2)
Table3600
,但如果我选择一个单元格(可能在表内),我似乎无法找到一个属性,要么返回选定单元格的包含表的名称。我试图存储返回值或声明当前单元格不在表格中。
TIA(这似乎是很基本的但我无处)
对于Excel中的给定ActiveCell,如何激活VBA中的表名工具设计选项卡时,VBA如何返回显示在属性分组中的表名称。因此,例如在即时窗口:使用VBA返回与给定的ActiveCell选择对应的表名称
?ActiveSheet.ListObjects(2)
Table3600
,但如果我选择一个单元格(可能在表内),我似乎无法找到一个属性,要么返回选定单元格的包含表的名称。我试图存储返回值或声明当前单元格不在表格中。
TIA(这似乎是很基本的但我无处)
这些返回选定单元格的表的名称。如果没有表,则会引发运行时错误。
Selection.ListObject.Name
Selection.ListObject.DisplayName
可以使用避免错误:
If Not Selection.ListObject Is Nothing Then
MsgBox Selection.ListObject.Name
End If
?ActiveSheet.ListObjects(2)
会给第二个表的名称在一张纸上,如果没有第二个表引发错误。
感谢Darren你的方法运行良好,我对Excel中的列表对象相当陌生,但不在Access中,所以我经常对它的使用感到有点惊讶。我在即时窗口(.Name和.DisplayName)都尝试过,他们都工作。此外,我也很感谢你解释ActiveSheet.ListObjects(2)的索引函数模式,并且已经在我的一个表栈中尝试了1,2和3:这是非常强大的,因为它不依赖于活动单元格的特定坐标,再次感谢您。 – StumpedObject
我不知道你想要什么:返回表的名字,返回单元格的值或找出单元格是否在表中。你能发展吗? –
感谢您的关注Remi,我正在尝试做的是从透视表“双击”创建堆栈表,并将它们集成到一个表中,通过标识表身份我可以删除其表的状态,然后集成它在不断增长的上表堆栈 – StumpedObject