Как записать Солвер "Установить ячейку" / "Значение" / "путем изменения ячеек" в VBA для диапазонов переменных - PullRequest
1 голос
/ 24 марта 2019

Я новичок в Excel VBA, все, о чем я хочу спросить, это как написать нотацию Cells в Excel VBA в Solver. Часть кода

Это то, что Запись макроса производится

SolverOk SetCell:="$F$3", MaxMinVal:=3, ValueOf:=0, ByChange:="$F$2", Engine:=1 _
    , EngineDesc:="GRG Nonlinear"
SolverOk SetCell:="$F$3", MaxMinVal:=3, ValueOf:=0, ByChange:="$F$2", Engine:=1 _
    , EngineDesc:="GRG Nonlinear"
SolverAdd CellRef:="$F$2", Relation:=3, FormulaText:="0"

Я хочу, чтобы ячейка "F2", "F3" была динамической (потому что она всегда переменная из-за процесса цикла)

F3 будет [Клетки (3, 6 + ((j - 1) * 8))]

F2 будет [Ячейки (2, 6 + ((j - 1) * 8))]]

где "j" - это счетчик в диапазоне от 1 до (предопределенное значение)

Я знаю о Range.Address (1,1), но когда я попробовал → Solver не решил

Я надеюсь, что кто-нибудь поможет мне с представлением Cells Dynamic в Solver в VBA

Заранее спасибо

1 Ответ

0 голосов
/ 25 марта 2019

Параметру SetCell требуется адрес ячейки в виде строки:

SetCell: = Ячейки (3, 6 + ((j-1) * 8)). Адрес

Если это не помогло, выполните пошаговый просмотр кода (используя меню «Отладка» / «Панель инструментов»> «Шаг в команду») и убедитесь, что в решатель передаются правильные данные.

Используйте меню «Вид», чтобы показать окно «Немедленно», если оно еще не видно, и, когда вы переходите по коду, используйте? команда для вывода значений переменных и выражений:

? Ячейки (3, 6 + ((j-1) * 8)). Адрес

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