Excel решатель, используя относительные ссылки?
У меня есть требование использовать Solver с определенным набором данных, и хотя я знаю, как использовать Solver с одним набором данных, есть несколько других рядов данных, для которых мне нужно его использовать, и затем он становится повторяющимся по мере необходимости. Солвер использует только абсолютные ссылки.
Есть ли выход? Можно ли как-то применить одни и те же критерии только к разным строкам и заставить Солвер пересчитать результат для всех этих строк?
Кто-то сказал, что с помощью INDIRECT
может быть вариант, но я не получил никакого объяснения того, как.
1 ответ
Во-первых, я предполагаю, что вы используете VBA. Если это не так, это не будет иметь большого смысла.
Я рекомендую просмотреть этот пост, обсуждая проблемы с использованием Solver в VBA.
Чтобы использовать ссылки для настройки Солвера (например, SetCell:=), я обнаружил, что это работает, в то время как большинство других методов этого не делают.
Set SetRng = Sheets("Sheet2").Range("A1")
SetAddress = Split(SetRng.Address(external:=True), "[")(0) & Split(SetRng.Address(external:=True), "]")(1)
SolverOK SetCell:=SetAddress
Где SetAddress - Dim'd в виде строки.