VBA Double For Loop



我正在尝试编写一个双 for 循环,以将一个 excel 文件中的一些输出提取到另一个文件中。

我有许多数据集,每个数据集都有多个分析,我想从中提取信息。例如,数据集 1 具有分析 1 和 2,数据集 2 具有分析 5 和 6,数据集 3 具有分析 9 和 10,依此类推...

对于这些分析中的每一个,我想调用 Extract1,它是执行实际工作的宏。由于代码很长,因此 Extract1 调用 Extract2,后者继续提取 1 中的代码。

我尝试使用MsgBox调试它。当我运行此代码时,循环进入数据集 2 和数据集 3。但对于数据集 2 和 3,它不会进入分析循环。有谁知道问题出在哪里?

Option Explicit
Public Master As Workbook
Public Source As Workbook
Public IB As String
Public IB2 As String
Public IB3 As String
Public IB4 As String
Public Dataset As Double
Public Analysis As Double
Public Mean_Diff As Double
Public Interaction As Double
Sub looper()
For Dataset = 1 To 3
    For Analysis = ((Dataset - 1) * 4 + 1) To (Dataset * 2)
        Extract1
    Next Analysis
Next Dataset
End Sub

要回答您的相关问题,请将循环计数器增加 1,但使用填充分析编号的数组。请注意,默认情况下数组的索引为 0。

Dim aryAnlysis() as Variant
aryAnlysis=Array("Analysis4","Analysis9", "Analysis24","Analysis30")
For i = 0 to 3 
 Call aryAnlysis(i)
Next i

最新更新