xcel中,B1和B2输入两个数,使用vba生成1个小数点后保留两位的随机数,要求在B1与B2之间,这个小数每次加0.01-0.04之间一个随机小数生成一个新的小数,生成9次,最后将9个随机数填到C4-C12中
时间: 2024-10-19 14:14:20 浏览: 28
sas在财务、会计研究中运用.ppt
在Excel中,你可以使用VBA编写一段脚本来实现这个需求。首先,你需要设置B1和B2作为输入的下限和上限,然后创建循环来生成并存储九个随机数。以下是实现这一功能的一个示例代码:
```vba
Sub GenerateRandomNumbers()
Dim lowerBound As Double, upperBound As Double, stepSize As Double
Dim randomNum As Double, i As Long
Dim rng As Range
' 获取输入值
lowerBound = Cells(1, 2).Value
upperBound = Cells(2, 2).Value
stepSize = 0.05 ' 因为每次增加的是0.01到0.04,所以步长设为0.05
' 创建目标范围
Set rng = Range("C4:C12")
' 清空原有内容
rng.ClearContents
For i = 1 To 9
' 生成一个在给定范围内的小数,并保留两位小数
randomNum = Round(lowerBound + Int((upperBound - lowerBound) * Rnd()) * stepSize, 2)
' 将随机数写入C列对应位置
Cells(i + 3, 3).Value = randomNum
' 更新下限
lowerBound = randomNum + stepSize
Next i
End Sub
```
这段代码会在B1和B2之间的数值上生成九个递增的随机数,每次递增0.01到0.04之间的一个随机数,并将结果保存在C4到C12。
阅读全文