Visual Basic для цикла с обновлением

Я пытаюсь создать макрос Монте-Карло в Excel, используя формулы, которые включают randbetween. См пример

Const Sim_Number As Long = 100
Dim outcomes(Sim_Number)

For counter_simple = 1 To Sim_Number
    outcomes(counter_simple) = ActiveSheet.Range("A1")
    Application.SendKeys ("{F9}") 'refresh
Next counter_simple

После цикла for макрос вычисляет среднее значение, стандартное отклонение и т. Д. Проблема, с которой я столкнулся, заключается в том, что кажется, что обновления происходят сразу, а сам макрос просто использует значение для последнего обновления для всех 100 экземпляров. Таким образом, среднее, минимальное, максимальное и т. Д. Имеют одно и то же значение.

Я написал другой макрос, который работает, как и предполагалось, с функциями randbetween внутри самого макроса, чтобы определить, что проблема заключается в цикле for. В чем проблема с обновлением в макросе? Есть ли способ отправки ключей для обновления значений randbetween? Благодарю.

0 ответов

Другие вопросы по тегам