VBA Double For Loop

时间:2016-03-06 11:23:30

标签: excel vba excel-vba loops

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

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

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

我尝试使用MsgBox进行调试。当我运行此代码时,循环进入数据集2和数据集3。但对于数据集2和3,它不会进入Analysis循环。有谁知道这是什么问题?

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 :(得分:0)

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

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