#Название? ошибка в ячейках с кодом VBA

Я запускаю симуляцию MonteCarlo в Excel с VBA, но получаю только #Name? ошибки в соответствующих ячейках. Когда я нажимаю в одну из этих ячеек, нажимаю F2 а потом Return ошибка исчезает и значение рассчитывается правильно. Что здесь не так?

Это строка кода, вычисляющая соответствующее значение:

ActiveCell.Formula = "=Start_Rate * EXP(NORM.S.INV(RAND())* Standard_Deviation * (" & i & " ^1/2)) "

И это весь код (если необходимо):

Sub MC_Simulation()

Dim i As Integer
Dim k As Integer
Dim StartCell As Range
Dim start_row As Integer
Dim start_column As Integer

iterations = Worksheets("Run_MC").Range("MC_Simulations").Value
Duration = Worksheets("Run_MC").Range("Duration").Value
Mean = Worksheets("Run_MC").Range("Mean").Value
Start_Rate = Worksheets("Run_MC").Range("Start_Rate").Value
Standard_Deviation = Worksheets("Run_MC").Range("Standard_Deviation").Value

start_row = 15
start_column = 1

For i = 1 To Duration
    For k = 1 To iterations

    Worksheets("Run_MC").Cells(start_row, start_column + i).Select
    Selection.Value = i
    Worksheets("Run_MC").Cells(start_row + k, start_column).Select
    Selection.Value = k
    Worksheets("Run_MC").Cells(start_row + k, start_column + i).Select
    ActiveCell.Formula = "=Start_Rate * EXP(NORM.S.INV(RAND())* Standard_Deviation * (" & i & " ^1/2)) "
    'Selection.Value

    Next k
Next i

End Sub

1 ответ

Вам нужно взять переменные VBA из цитат:

ActiveCell.Formula = "=" & Start_Rate & "*EXP(NORM.S.INV(RAND())*" & Standard_Deviation & "*(" & i & "^1/2))"
Другие вопросы по тегам