我在工作表中有一个名为table的表。我想获取一个由表体的指定列组成的区域。下面的代码可以工作:
Public Function GetColumn(colNum as Integer) As Range
With Sheet.ListObjects("table").DataBodyRange
Set GetColumn = Range(.Cells(1, colNum), .Cells(.Rows.Count, colNum))
End With
End Function
我觉得一定有更优雅的方法来解决这个问题。
看起来Columns属性是一种可行的方法,但我似乎无法正确使用语法。
1条答案
按热度按时间niwlg2el1#
您可以使用范围的Columns-property来取得该范围中某一栏的范围,只要指定栏号即可。请注意,索引永远是相对的,如果您的范围从C3开始,则栏(2)会指涉工作表的栏D。
所以对于你的情况:
包括标题单元格:
无标题单元格:
**Update:**当您访问这样的Range并使用foreach对其进行迭代时,它将只执行一次迭代,包含所有单元格。修复很简单: