发布网友
共1个回答
热心网友
在VBA中生成随机数,主要使用`Rnd`函数。下面是使用`Rnd`函数生成随机数的基本方法:
### 基础用法
`Rnd`函数不传参时,返回一个0至1之间的随机浮点数。
vba
Dim randomValue As Double
randomValue = Rnd()
### 初始化随机数生成器
使用`Randomize`函数初始化随机数生成器,确保每次运行程序时获得不同序列。不调用`Randomize`会导致每次运行生成相同序列。可传入`Timer`函数返回值作为种子。
vba
Randomize ' 使用当前时间作为随机数生成器的种子
randomValue = Rnd()
### 生成指定范围内的随机数
生成0至1之间随机数是默认行为,无需额外操作。
要生成指定范围内的随机整数,公式为:
vba
Dim randomInteger As Integer
low = 1 ' 最小值
high = 100 ' 最大值
randomInteger = Int((high - low + 1) * Rnd + low)
生成指定范围内的随机浮点数,去掉`Int`函数即可。
vba
Dim randomDecimal As Double
randomDecimal = (high - low + 1) * Rnd + low
记住,`Rnd`函数基于先前调用结果生成随机数,使用`Randomize`设置不同的起始点对于获得真正随机性至关重要,特别是在希望每次运行程序时得到不同结果时。