Как генерировать инвертированные нормальные случайные числа в VBA?
Я пытаюсь сгенерировать 5.000 случайных величин, используя эти функции Excel: normsinv(rand())
, Это код, который я написал:
Dim r As Integer
r = 1
For r = 1 To 5001
.Cells(r + 1, 1) = Application.WorksheetFunction.NormSInv(Rnd())
r = r + 1
Next
Однако, когда я выполняю ничего не происходит (но он также не обвиняет ни в какой ошибке)... Не могли бы вы сказать мне, что не так с кодом?
1 ответ
Вам не нужен цикл:
Sub dural()
Dim r As Range
Set r = Range("A1:A5001")
r.Formula = "=normsinv(rand())"
r.Copy
r.PasteSpecial (xlPasteValues)
End Sub