Этот вопрос является заменой для этого вопроса:
EXCEL VBA игнорирует значения изменений Солвера
потому что, кажется, есть другая проблема, которая не была оценена в первоначальном вопросе.
У меня есть следующий фрагмент кода Excel VBA для решения проблемы минимизации:
SolverOk SetCell:="$AP$13", MaxMinVal:=2, ValueOf:=0, ByChange:="$AP$9:$AP$11", Engine:=1
SolverSolve UserFinish:=True
Это выполняется в макросе (Do_Fit
), который вызывается нажатием кнопки на рабочем листе. У меня есть еще одна кнопка на листе диаграммы (показывает подгонку), которая также запускает Do_fit
. SOLVER запускается, когда я нажимаю кнопку листа, но не когда нажимаю кнопку диаграммы. На листе есть метод Worksheet_change
, который содержит следующее утверждение:
If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub
для обработки изменений, внесенных в определенную часть рабочего листа, на которую не влияет Do_fit
. Не уверен, что это как-то связано с проблемой, но подумал, что стоит упомянуть. Обновление: когда я отключаю макрос Worksheet_Change
, SOLVER по-прежнему не запускается при нажатии кнопки графика
Я попытался сбросить проблему с помощью SolverReset, но это выдает ошибку, говорящую, что Excel был исчерпан.
Я не понимаю, почему SOLVER запускается, когда я нажимаю кнопку рабочего листа, но не кнопку диаграммы, и буду признателен за любые предложения о том, как решить эту проблему
Спасибо!