小编Pau*_*l W的帖子

动态添加嵌套循环

我有一个'X'数量的变量(可能在3到20个选项之间),它们将被组合起来计算所有可能的组合以满足标准.对于每个额外的变量,引入了一个额外的循环,但我不知道是否可以动态创建循环(在excel VBA中,代码不必非常快).

为了证明:我有var.a,h = 2,var.B,h = 3.我想知道所有等于10的组合或2个变量的最佳组合.

在这种情况下:选项1 = 5*A = 10,3*B = 9,2*A和2*B = 10,3*A和1*B = 9.

代码如下所示:

 For A = 0 to 5 
     h = 0 'Reset previous h if solution is found

   For B = 0 to 5

         h_test = A * height(A) + B * heigth(B)

          if h_test > 10
             if h = 0 then
               exit for
             else
               write h
               exit for
            end if

            h = h_test

  Next B
Next A
Run Code Online (Sandbox Code Playgroud)

如果引入了另一个参数(例如C = 4),则代码为:

For A …
Run Code Online (Sandbox Code Playgroud)

excel vba dynamic nested-loops

5
推荐指数
1
解决办法
385
查看次数

标签 统计

dynamic ×1

excel ×1

nested-loops ×1

vba ×1