Как генерировать инвертированные нормальные случайные числа в VBA?

1242
Johnny

Я пытаюсь создать 5.000 случайных величин с помощью этих функций выделяются: 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 

Однако, когда я выполняю ничего не происходит (но он также не обвиняет ни в какой ошибке) ... Не могли бы вы сказать мне, что не так с кодом?

0
Должно ли это быть `Rand ()`, а не `Rnd ()`? DavidPostill 9 лет назад 0
[Код VBA вместо NORMSINV (RAND ())] (http://answers.microsoft.com/en-us/office/forum/office_2007-excel/vba-code-instead-of-normsinvrand/219e3d66-231a-413f -a0ff-f0bd60dfec26) также может помочь вам ... DavidPostill 9 лет назад 0
[Генерация случайных чисел с помощью Excel] (http://www.graphpad.com/support/faqid/966/) DavidPostill 9 лет назад 0

1 ответ на вопрос

0
Gary's Student

You do not need a loop:

Sub dural() Dim r As Range Set r = Range("A1:A5001") r.Formula = "=normsinv(rand())" r.Copy r.PasteSpecial (xlPasteValues) End Sub 

Похожие вопросы