Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何获取表头单元格的单元格地址?_Vba_Excel - Fatal编程技术网

Vba 如何获取表头单元格的单元格地址?

Vba 如何获取表头单元格的单元格地址?,vba,excel,Vba,Excel,我使用ActiveSheet.ListObjects(1).ListColumns(1)来选择一个表格标题单元格,我使用ActiveSheet.ListObjects(1).ListColumns(1).Name来获取该标题的值。我怎么知道它的地址?例如,我想知道我要定位的表头是否在列C和行3中 我尝试使用ActiveSheet.ListObjects(1).ListColumns(1).Address,但这似乎不正确。ListColumn的属性为DataodyRange和Range范围包括标题

我使用
ActiveSheet.ListObjects(1).ListColumns(1)
来选择一个表格标题单元格,我使用
ActiveSheet.ListObjects(1).ListColumns(1).Name
来获取该标题的值。我怎么知道它的地址?例如,我想知道我要定位的表头是否在列
C
和行
3


我尝试使用
ActiveSheet.ListObjects(1).ListColumns(1).Address
,但这似乎不正确。

ListColumn
的属性为
DataodyRange
Range
<代码>范围包括标题单元格,因此您可以找到此范围的第一个单元格

Dim col As ListColumn

Set col = ActiveSheet.ListObjects(1).ListColumns(1)
MsgBox col.DataBodyRange.Address    'just the data range
MsgBox col.Range.Address            'includes the header cell

MsgBox col.Range.Cells(1).Address   'the header cell

提示:创建引用
col
意味着您可以使用intellisense来发现ListColumn对象的成员。

谢谢您的回答。这对我来说非常有效。我不熟悉什么是智能感知以及如何使用它。你有我可以用来学习的好资源吗?当键入我的代码时,在键入
col.
之后,会弹出一个列表,列出列表列的适用方法和属性。这是智能感知。可以在单词中单击并按F1键访问帮助系统,也可以按F2键访问对象浏览器。J Walkenbach的书VBA的傻瓜或电源编程是非常好的。我不知道有什么在线资源可以推荐,除了MSDN。最后一个问题。说
col.Range.Cells(1).Address
返回
$E$3
。我想知道并使用它的列
E
。如何获取该信息?
col.Range.Column
为您提供了数字5。如果您确实需要列字母“E”,则可以解析地址字符串,或在字母“A”的字符代码中添加(5-1),但通常不需要获取字母,除非您想在某处显示它。