Excel中随机值的一千份副本

时间:2014-04-22 11:16:04

标签: excel vba excel-vba

我有一个excel中的单元格,每按一次F9就刷新一次。我希望在一列中有1000个这个随机变量的副本,然后计算平均值。但手动输入实际值非常繁琐。

有一种有效的方法吗?

2 个答案:

答案 0 :(得分:2)

假设单元格 B9 包含在每次计算工作表时重新计算的值。还假设我们将在 C1 C1000

中存储1000个样本
Sub MontiCarlo()
    Dim i As Long
    For i = 1 To 1000
        Application.Calculate
        Cells(i, 3).Value = Range("B9").Value
    Next i
    Range("D1").Value = Application.WorksheetFunction.Average(Range("C1:C1000"))
End Sub

答案 1 :(得分:1)

这是我认为你想做的事情的一种方式:

Dim v As Variant
Dim i As Long
ReDim v(1 To 1000, 1 To 1)
For i = 1 To 1000
    v(i, 1) = Rnd()
Next
Range("A3").Resize(1000, 1) = v
Range("A1").Formula = "=AVERAGE(A3:A1002)"