循环使用范围Excel VBA中每列的第一个单元格

时间:2016-01-11 08:02:35

标签: excel vba excel-vba

我在工作表中有一些示例数据,我想在使用范围内获取每列的标题,这是示例

enter image description here

我从来不知道确切使用的列数,我需要获取所有标题(客户经理经理-2 .. ..)从这张表中向用户显示。

我可以循环使用范围内的每个单元格,如

For Each cell In ActiveWorkbook.Worksheets(SheetName).UsedRange

Next

但是如何循环每一列,只读取第一个单元格中的值?因为这些列表的数量可以是一个或多个。

3 个答案:

答案 0 :(得分:2)

将代码替换为使用范围的第一行迭代:

For Each cell In ActiveWorkbook.Worksheets(SheetName).UsedRange.Rows(1).Cells
   ...
Next

答案 1 :(得分:0)

'Get a 2D array of header values

Dim aHeaders() As Variant

aHeaders = Sheet1.UsedRange.Rows(1).Value

答案 2 :(得分:0)

这完全取决于您的数据质量。碰到这么多次。

如果标题是一致的,那么您只需要调整大小到第一行。类似的东西:

Dim r as range, r1 as range

Set r = Range("A1").CurrentRegion.Resize(1)

然后为r范围执行每个操作。

 For Each r1 in r

 Next

您也可以使用整数变量....

 Dim i as integer
 For I = 1 to r.Count

 Next