使用VBA时遇到的问题是尝试创建一个循环,从一系列行中复制一系列单元格。
循环必须将同一行和工作表中的一系列单元格复制到数组中。 这适用于一行:
CheckArr = Application.WorksheetFunction.Transpose(Worksheets("DTMs").Range("B2:F2"))
我想创建的是一个为“i”行执行此操作的循环
使用单元格范围内的信息创建数组后,我将其与另一个数组进行比较。比较后,我跳了一行,重复创建数组。像这样:
对于i = 1到ID_cnt ------->'ID_cnt是我想要循环的行的最大范围
CheckArr = Application.WorksheetFunction.Transpose(Worksheets(“sheet12”)。范围(“B(i):F(i)”))
下一步
这不起作用。我不知道如何编写循环,以便使用包含在行“i”的单元格范围(B到F)中的信息创建数组,以及如何在循环中重复此操作。
序列:
1)行(i):复制(B到F)并填写数组
2)检查数组的内容并与另一个数组进行比较
3)跳到行(i + 1):重复过程。
最大跳转量由ID_cnt变量自动设置,该变量计算包含信息的行数。
请帮助我,并提前致谢(对不起英语不好)
答案 0 :(得分:0)
您可以设置如下所示的单元格范围:
For i = 1 to ID_cnt
CheckArr = Application.WorksheetFunction.Transpose(Worksheets("sheet12").Range("B" & i & ":F" & i))
Next
你也可以做一些更干净的事情,如:
dim myRngStr as string
myRngStr = "B" & i & ":F" & i
CheckArr = Application.WorksheetFunction.Transpose(Worksheets("sheet12").Range(myRngStr))
答案 1 :(得分:0)
试试这个:
CheckArr = Application.WorksheetFunction.Transpose(Worksheets("sheet12").Range("B" & i & ":F" & i))