Создание кода VBA с использованием Solver с постоянно меняющимися ограничениями - PullRequest
0 голосов
/ 05 октября 2018

Здравствуйте, я новичок в Visual Basic.Поэтому я попытался создать автоматический расчет решателя с использованием решающего кода VBA с 4 ограничениями.Первое ограничение 3 не должно изменяться, но последнее ограничение должно постоянно изменять его FormulaText в зависимости от содержимого ячейки в столбце для каждого вычисления.Ниже приведен последний код, который я пробовал.

For a = 1 To 3
    SolverOk SetCell:="$J$13", MaxMinVal:=2, ValueOf:=0, ByChange:="$C$13:$G$13", _
    Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverDelete CellRef:="$K$13", Relation:=2, FormulaText:=Cells(a + 18, 11)
    SolverAdd CellRef:="$K$13", Relation:=2, FormulaText:=Cells(a + 19, 11)
    SolverOk SetCell:="$J$13", MaxMinVal:=2, ValueOf:=0, ByChange:="$C$13:$G$13", _
    Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverSolve
Next a

Как вы видите, я пытался установить переменную 'a' в качестве изменяющейся строки для FormulaText, но проблема в том, что содержимое ячейки записывается как значениев FormulaText, поэтому я не могу правильно удалить ограничение для следующего вычисления.

Например, ограничение записывается как: $ K $ 13 => 1.5%, а не как обычно: $ K $ 13 => $ K$ 19

Что я могу сделать, чтобы решить это?Спасибо

...