嵌套循环不会在VBA脚本

时间:2018-04-12 04:56:08

标签: vba nested-loops

我试图遍历数组中每个可能的整数组合。每个数组位置都有自己的最小和最大可能整数。我已经能够使用以下代码执行此操作:

'loop through each possible integer in each cell in the array from corresponding minimum to corresponding maximum
For g1 = MinG1 to MaxG1
    For g2 = MinG2 To MaxG2 
        For g3 = MinG3 To MaxG3 
            For g4 = MinG4 To MaxG4 
                For g5 = MinG5 To MaxG5 
                        '... and so on until...
                            For g36 = Min36 To MaxG36
                            Next
                        '... and so on until...                        
                Next
            Next
        Next
    Next
Next

显然,它既缓慢又丑陋,但它可以在每个相应的约束内循环完成每个可能的整数迭代。我正在尝试使用数组大大简化它并执行以下操作:

'loop through each cell in the array
Dim i As Long
Dim j As Long

For i = UBound(GRange) To LBound(GRange) Step -1   

    'loop through each possible integer in current cell from corresponding minimum to corresponding maximum
    For j = MinGRange(i, 1) To MaxGRange(i, 1)
    GRange(i, 1) = j
    Next

Next

我的问题是它在每个单元格中从最小值到最大值循环,但在下一个单元格迭代时不会重复(即在我丑陋的代码中,G36将返回到最小值并在G35迭代时再次开始迭代到下一个号码)。我还没有找到一个解决方案来告诉我如何实现这一目标。

我不想要一个35阶段的嵌套循环。我错过了什么?

0 个答案:

没有答案