Ich führe eine MonteCarlo Simulation in Excel mit VBA aber ich erhalte nur #Name?
Fehler in den jeweiligen Zellen. Wenn ich in eine dieser Zellen klicke, drücke F2
und dann Return
, der Fehler verschwindet und der Wert wird richtig berechnet. Was ist hier falsch?#Name? Fehler in Zellen mit VBA-Code
Dies ist die Codezeile den entsprechenden Wert Berechnung:
ActiveCell.Formula = "=Start_Rate * EXP(NORM.S.INV(RAND())* Standard_Deviation * (" & i & " ^1/2)) "
Und das ist der gesamte Code (falls erforderlich):
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
Wenn es von der Bearbeitungsleiste funktioniert und nicht aus dem Code funktioniert, haben Sie eine lokalisierte Version von Excel und sho ud entweder [FormulaLocal verwenden] (http://stackoverflow.com/q/26625383/11683) aus dem Code oder [die Formel auf Englisch bereitstellen] (http://stackoverflow.com/a/25251099/11683). – GSerg