Использование диапазонов при добавлении ограничений в VBA - PullRequest
0 голосов
/ 06 мая 2020

Заранее благодарим за вашу поддержку. Я использую VBA и имею некоторый диапазон, названный в диспетчере имен в excel, который я хочу использовать в моем решателе, используя цикл For, позволяющий системе автоматически добавлять ограничения и условия.

Я записал этот скрипт, но не работает:

Dim Prezzi(1 To 10) As Variant
Dim Spread_Fwd(1 To 10) As Variant
Dim Medie(1 To 10) As Variant
Dim Differenze(1 To 10) As Variant


Prezzi_1 = Range("Prezzi")
Spread_Fwd_1 = Range("Spread_Fwd")
Medie_1 = Range("Medie")
Differenze_1 = Range("Differenze")

For i = 1 To 1

    SolverReset
    SolverAdd CellRef:="Differenze_1(" & i & ",1)", Relation:=2, FormulaText:="Spread_Fwd_1(" & i & ",1)"
           SolverOk SetCell:="Medie_1("     & i & ",1)", MaxMinVal:=3, ValueOf:="5,8", ByChange:="CALIBRATION" _
        , Engine:=1, EngineDesc:="GRG Nonlinear"

, но не работает. Не могли бы вы мне помочь? Спасибо

1 Ответ

0 голосов
/ 06 мая 2020

Я думаю, что ссылка на вашу ячейку должна больше выглядеть: Cellref:=Differenze_1(i ,1).value.

Поскольку Differenze_1 является объектом, он не должен быть в строковой форме, а должен возвращать значение из ячейки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...