【发布时间】:2014-03-06 23:58:19
【问题描述】:
我想使用RandBetween 函数在单元格A1:C6 中生成一系列随机数。
当我尝试这段代码时
Range("A1:C6") = WorksheetFunction.RandBetween(10, 1000)
每个单元格都填充了相同的数字。
我错过了什么?
【问题讨论】:
我想使用RandBetween 函数在单元格A1:C6 中生成一系列随机数。
当我尝试这段代码时
Range("A1:C6") = WorksheetFunction.RandBetween(10, 1000)
每个单元格都填充了相同的数字。
我错过了什么?
【问题讨论】:
试试这个:
With Range("A1:C6")
.Formula = "=RANDBETWEEN(10,1000)"
.Calculate
.Value = .Value
End With
.Value = .Value 部分用它们的值重写公式。
【讨论】:
每个单元格都获得相同的值,因为您只调用了一次随机函数。您需要为每个单元格调用一次 Random 函数,如下所示:
For Each c In Worksheets("Tabelle1").Range("A1:D6").Cells
c.Value = (Round((Rnd() * 990) + 10))
Next
【讨论】: