使用Excel VBA选择表中的整个列

12

我在Excel表格中有一个表格,我想选择整个第一行。 有没有比通常更简单/更快的方法引用表格?

我在Excel表格中有一张表,想要选中整个第一行。是否有比通常方式更简单/更快的引用表格的方法?

 Range("A2").End(xlDown).Select 

方法?似乎使用表格可以更轻松地访问数据。

2个回答

66

使用这些代码,您可以选择表中的不同部分。

整个表格:
ActiveSheet.ListObjects("Table1").Range.Select

表头行:
ActiveSheet.ListObjects("Table1").HeaderRowRange.Select

表数据:
ActiveSheet.ListObjects("Table1").DataBodyRange.Select

第三列:
ActiveSheet.ListObjects("Table1").ListColumns(3).Range.Select

第三列(仅数据):
ActiveSheet.ListObjects("Table1").ListColumns(3).DataBodyRange.Select

选择表格数据中的第4行:
ActiveSheet.ListObjects("Table1").ListRows(4).Range.Select

选择第3个标题:
ActiveSheet.ListObjects("Table1").HeaderRowRange(3).Select

选择第3行第2列的数据点:
ActiveSheet.ListObjects("Table1").DataBodyRange(3, 2).Select

小计:
ActiveSheet.ListObjects("Table1").TotalsRowRange.Select

有关表格的完整指南,请参见VBA指南:ListObject Excel表格


我的表格标题从A3开始。所以,我做了这个ActiveSheet.ListObjects("Table3").HeaderRowRange.DataBodyRange.Copy。但是出现了错误。如何选择从A3开始的表格? - user9431057
我需要带有表头的表格,但是我的表头从A3开始。因此,当我使用 ("Table 1").Range().copy将表格复制到另一个工作表中时,它还会复制 A1A2,这不是我想要的。我尝试了("Table1").HeaderRowRange.DataBodyRange.Copy,但它不起作用。有什么解决办法吗? - user9431057
@user9431057,ActiveSheet.ListObjects("Table1").Range.Select 只会选择属于该表的所有内容,不会选择其他内容。我建议您提出一个新问题,并在该问题中展示一张截图。这个问题无法在评论中回答。 - Pᴇʜ
是的,这有点棘手,我会尽快发布问题! - user9431057
这里了解:排除工作表规范并按名称获取列:Range("Table1").ListObject.ListColumns("ColumnName") - sam-6174
显示剩余3条评论

0

这是我知道的最短的方法:

Rows(1).Select

这里可以找到一些相关的例子。


这并不是选择表中的一行,而是选择整个工作表中的一行。但我们在这里讨论的是工作表中的格式化表格。请参阅Excel表格概述 - Pᴇʜ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接