2014-03-01 34 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前?)
  • 是否一個新的工作表需要針對每次迭代的結果被創建或者他們 是否存在或將結果複製到每個迭代的相同工作表?

總之,請提供一個更準確的問題。