我在工作表中有一些示例数据,我想在使用范围内获取每列的标题,这是示例
我从来不知道确切使用的列数,我需要获取所有标题(客户,经理,经理-2 .. ..)从这张表中向用户显示。
我可以循环使用范围内的每个单元格,如
For Each cell In ActiveWorkbook.Worksheets(SheetName).UsedRange
Next
但是如何循环每一列,只读取第一个单元格中的值?因为这些列表的数量可以是一个或多个。
答案 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