2017-02-17 3 views
0

У меня очень короткий вопрос, но я просто не понимаю, почему это не работает.Диапазон использования ограничений Solver с formulatext

У меня есть ограничение решателя. Следующий код работает (строка 14 будет переменными переменными, а строка 13 - ограничениями).

SolverAdd CellRef:=ws1.Range(ws1.Cells(14, 2), ws1.Cells(14, 5)), Relation:=1, FormulaText:="$B$13:$E$13" 

Так что я подумал, что следующий должно работать, а

SolverAdd CellRef:=ws1.Range(ws1.Cells(14, 2), ws1.Cells(14, 5)), Relation:=1, FormulaText:=ws1.Range(ws1.Cells(13, 2), ws1.Cells(13, 5)) 

И я сижу здесь, почесал голова и интересно, почему я получаю ошибку (неопределенную внутреннюю ошибку или слишком мало полезный баран) ,

ответ

1

FormulaText ожидает строку - так что, если вы добавите «Address» в конце диапазона, он должен работать:

SolverAdd CellRef:=ws1.Range(ws1.Cells(14, 2), ws1.Cells(14, 5)), Relation:=1, FormulaText:=ws1.Range(ws1.Cells(13, 2), ws1.Cells(13, 5)).Address 
+0

О, я вижу. Работает отлично. Ty :) – Progressive

+0

Достаточно распространенная ошибка, я сделал это много раз сам. – Amorpheuses

+0

Другой вопрос: можно ли использовать переменную, разрешите ее называть x в части CellRef? Я знаю, что это ясно говорит CellRef, но, возможно, есть способ вокруг – Progressive

Смежные вопросы