- 帖子
- 99
- 主題
- 15
- 精華
- 0
- 積分
- 164
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- office2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2017-5-30
- 最後登錄
- 2024-10-5
|
本帖最後由 zheng211016 於 2018-2-14 23:34 編輯
給想學得人 參考:D
Sub 最簡單法___________________()
'組數過大時, 運算會極度耗時
平均值 = [A2]
上限 = [B2]
下限 = [C2]
組數 = [D2]
Randomize '重置亂數
'----------------------------Do 迴圈------------------------------------
Do
Value_Sum = 0
For w = 1 To (組數 - 1) 'for 迴圈(假如 組數21 只會跑20次)
Value = Rnd * (上限 - 下限) + 下限 'Value = 亂數產生上下限之中的值
Value_Sum = Value_Sum + Value 'Value_Sum = 把迴圈內所有Value加起來
Range("G" & w) = Value '把產生的值放入儲存格內 / w = 為迴圈數
Next 'for 迴圈 執行到完 就可以到下一行
殘值 = 平均值 * 組數 - Value_Sum '殘值 = 平均值 * 組數 - 迴圈內所有的Value總和
循環次數 = 循環次數 + 1 '累加 Do迴圈次數
Loop Until 殘值 >= 下限 And 殘值 <= 上限 '直到 殘值 >= 下限 + 殘值 <= 上限
'------------------------結束迴圈(達成上述條件)------------------------
Range("G" & w) = 殘值 '殘值放入儲存格內(也就是最後一格)
Debug.Print 循環次數 '用於立即視窗顯示 Do循環次數
End Sub |
|