|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
- '// 输出在M2以下
- Sub Main()
- Range("m2").Resize(10).Value = GetRndNum(133320, 10000, 15500, 10)
- End Sub
- Function GetRndNum(H, h1, h2, n)
- v% = H / n
- ReDim ar(1 To n, 0)
- For i = 1 To n - 1: ar(i, 0) = v: Next
- ar(n, 0) = H - v * (n - 1)
- Randomize
- For i = 1 To n * 30
- r1 = Int(Rnd * n) + 1
- r2 = (Int(Rnd * (n - 1) + r1 + 1) - 1) Mod n + 1
- If h1 + h2 < ar(r1, 0) + ar(r2, 0) Then j = h2 - ar(r2, 0) Else j = ar(r1, 0) - h1
- k = Int(Rnd * j): ar(r1, 0) = ar(r1, 0) - k: ar(r2, 0) = ar(r2, 0) + k
- Next
- GetRndNum = ar
- End Function
复制代码 |
|