我在1张excel表中有几组数据。我想将每组数据存储到它们自己的数组中,以便我可以在之后进行必要的计算。我看到this thread关于如何获取数据并将其存储到一组数据的数组中,但是如何在A列,B列,C等中执行此操作。我想使用一些循环遍历不同的列,但由于列是由字母而不是数字定义的,我不知道如何递增它们。
此外,如果有人知道如何从vba代码中绘制数据的一些好资源,那也是值得赞赏的。我所看到的一切都是旧版本的excel(我正在使用Excel 2016)。
感谢。
以下是链接中提到的代码:
Dim Ar as Variant
Ar = Sheets("Sheet").Range("A1:A10000").Value
答案 0 :(得分:3)
如果你想遍历整个列
Dim c As Long
For c = 1 To 10
Debug.Print Worksheets("Sheet1").Columns(c).Address
Next c
或通过列,例如只有第5到第15行
Dim c As Long
For c = 1 To 10
Debug.Print Worksheets("Sheet1").Range(Cells(5, c), Cells(15, c)).Address
Next c
但根据您在问题中提供的链接,您还可以将完整范围读入二维数组,这应该比逐列读取更快。
Dim DirArray As Variant
DirArray = Worksheets("Sheet1").Range("A1:C5").Value 'for a range
或者甚至多于一个整列,如
DirArray = Worksheets("Sheet1").Range(Columns(1), Columns(3)).Value 'for column 1 to 3
并像
一样访问它Debug.Print DirArray(2, 3) 'where 2 = row 2 and 3 = column C
请注意,如果您的第一列和行不是1,则数组中的计数可能会有所不同。例如,如果您使用
DirArray = Range("B2:C10").Value
Debug.Print DirArray(1, 1) 'this is the value of Range("B2")
计数因第一行和第一列的偏移而移动。