1

我在使用 VBA 时遇到的问题是尝试创建一个循环,该循环从一系列行中复制一系列单元格。

循环必须将同一行和工作表中的一系列单元格复制到数组中。这适用于一行:

CheckArr = Application.WorksheetFunction.Transpose(Worksheets("DTMs").Range("B2:F2"))

我想要创建的是一个循环,它对“i”行执行此操作

在使用单元格范围内的信息创建一个数组后,我将它与另一个数组进行比较。比较之后,我跳下一行并重复创建数组。像这样:

对于 i = 1 到 ID_cnt ------->'ID_cnt 是我想循环通过的行的最大范围

CheckArr = Application.WorksheetFunction.Transpose(Worksheets("sheet12").Range("B(i):F(i)"))

下一个

这行不通。我不知道如何编写循环,以便使用包含在“i”行的单元格范围(B 到 F)中的信息创建数组,以及如何在循环中重复此操作。

序列:

1)行(i):复制(B到F)并填充数组

2)检查数组的内容并与另一个数组进行比较

3)跳转到第(i + 1)行:重复过程。

最大跳转量由 ID_cnt 变量自动设置,该变量计算包含信息的行数。

请帮助我并提前感谢(&抱歉英语不好)

4

2 回答 2

0

尝试这个:

CheckArr = Application.WorksheetFunction.Transpose(Worksheets("sheet12").Range("B" & i & ":F" & i))
于 2013-04-27T12:55:58.663 回答
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))
于 2013-04-27T12:52:46.350 回答