VBA excel生成任何随机数

时间:2017-10-26 10:05:49

标签: vba excel-vba excel

我只是在excel中学习VBA,只想知道如何使用我相信的RND函数生成任意随机数。

2 个答案:

答案 0 :(得分:0)

假设我们想从Excel可以代表(正面或负面)任意数字中随机选择一个数字。

  • Excel中最大的正值为9.99999999999999E + 307
  • 将此值乘以a=[20,32,28,32]应生成0到最大值
  • 之间的随机值
  • 然后随机选择结果(+ - )的符号:


Rnd()

答案 1 :(得分:-1)

你需要关注计算机科学中一般数字的概念,而不是对随机的更抽象的理解。在计算机科学中,随机数(几乎)总是以0到1之间的数字开始。然后,您可以将其相乘,以增加范围的大小并添加/减去数字以更改偏移。

'Example of using Rnd in VBA
Sub RandomPrint()
    Dim rand As Double
    rand = Rnd * 49 + 1
    rand = Round(rand)
    Debug.Print "Random integer between 1 and 50: " + CStr(rand)
End Sub

https://www.techonthenet.com/excel/formulas/rnd.php

https://msdn.microsoft.com/en-us/library/f7s023d2(v=vs.90).aspx