Добрый День, Коллеги! Столкнулся с такой проблемой, что не работает созданный макрос. Пишет в ошибке, что Sub or function not defined. Подскажите, пожалуйста, что неправильно в макросе я делаю? Работать он должен следующим образом. У меня курс USDRUB на каждую дату случайно генерится, дат около 20, результирующее значение - это средний сгенерированный курс по этим датам. Я хочу провести допустим 10 симуляций, и из каждой симуляции вывести результирующий курс в столбец, т.е. для 10 итераций должно быть 10 значений в столбце. В данном случая я сделал макрос для 3 курсов, т.к. необходимо будет вывести 3 таких столбца, но для простоты пока ограничился одним результирующим значение в столбец - Rate_MonteCarlo
Код
Sub Monte_Carlo()
' Choosing number of simulations
k = Range("Number_of_Simulations").Value
'
' Inserting links on random variables and making Monte-Carlo Calculations
Sheets("Rates").Select
Range("USDRUB_Link").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Rates").Select
Range("EURUSD_Link").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Rates").Select
Range("EURJPY_Link").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
For i = 1 To k
Sheets("Rates").Select
Range("MC_USDRUB").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rates").Select
Range("USDRUB_Link").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Rates").Select
Range("MC_EURUSD").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rates").Select
Range("EURUSD_Link").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Rates").Select
Range("MC_EURJPY").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rates").Select
Range("EURJPY_Link").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Rates").Select
Range("Rate_MonteCarlo").Select
Selection.Copy
Range("MC").Item(i, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.StatusBar = i
Next
' Inserting old links after procedure
Sheets("Rates").Select
Range("USDRUB_Link").Offset(-1, 0).Select
Selection.Copy
Range("USDRUB_Link").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.Offset(-1, 0).Select
Selection.ClearContents
Range("EURUSD_Link").Offset(-1, 0).Select
Selection.Copy
Range("EURUSD_Link").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.Offset(-1, 0).Select
Selection.ClearContents
Range("EURJPY_Link").Offset(-1, 0).Select
Selection.Copy
Range("EURJPY_Link").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.Offset(-1, 0).Select
Selection.ClearContents
End Sub