2014-03-01 89 views
2

我想通过一些组合循环的方式来确保我通过每个可用的组合而不重复。让我解释。我有一组数字,例如通过数字组合循环

20,000 
25,000 
27,000 
29,000 

,我想改变通过循环这组数字的和新的电话号码复制到不同的片材,使我对板材的公式可以计算出任何我需要他们来计算。例如,第一对夫妇迭代可能是这个样子:

1st 
20,000 x 1.001 
25,000 x 1 
27,000 x 1 
29,000 x 1 

2nd 
20,002 x 1.001 
25,000 x 1.001 
27,000 x 1 
29,000 x 1 

号的第一行不应该超过第二。所以2万只应该高达25,000。

我能够建立一个系统,让我建立一个矩阵,然后循环使用= rand()组合随机组合,但是这并不能确保我击中每一个组合并重复组合。

任何人都可以解释这背后的数学,以及我将如何使用循环来实现我的目标?

谢谢!

回答

0

尝试从较小的数字开始。

看看这是否适合你。

Sub looper() 


'First Array 
Dim myArray(9) As Double 

For i = 1 To 10 

myArray(i - 1) = i 

Next i 


'Second Array 
Dim myOtherArray(9) As Double 

For i = 1 To 10 

myOtherArray(i - 1) = i 

Next i 


'Loop through each one 
For Each slot In myArray 


For Each otherSlot In myOtherArray 


Debug.Print (slot & " * " & otherSlot & " = " & slot * otherSlot) 


Next otherSlot 


Next slot 


End Sub 
0

GD user1813558,

你的问题包含细节太少和太广泛地覆盖到能够提供一个准确的答案。

  • 是你的任意数字(即您提供的是“只是” 样品的那些),或者将它们固定,按您的指示数字?
  • 总是只有4个数字吗?
  • 是您startnumbers的分布(即它们的区别 值)始终按您的指示0,+5000,+2000,+2000
  • 将所有的“循环”的结果(或迭代)需要被复制到 不同的工作表? (即,从20.000循环至25.000由增量1.001 将需要大约223次迭代,并且随后片材, 结果开始超过25.000前?)
  • 是否一个新的工作表需要针对每次迭代的结果被创建或者他们 是否存在或将结果复制到每个迭代的相同工作表?

总之,请提供一个更准确的问题。