Поделиться через


SolverFinishDialog Function

Сообщает Microsoft Office Excel, что делать с результатами и какой отчет следует создать по завершении процесса решения. Эквивалентно функции SolverFinish , но также отображает диалоговое окно Результаты решения после решения проблемы.

Примечание Надстройка "Решатель" не включена по умолчанию. Прежде чем использовать эту функцию, необходимо включить и установить надстройку Решателя. Сведения о том, как это сделать, см. в разделе Использование функций Решателя VBA. После установки надстройки "Поиск решения" необходимо установить ссылку на надстройку "Поиск решения". В редакторе Visual Basic с активным модулем щелкните Ссылки в меню Сервис, а затем выберите пункт Поиск решения в разделе Доступные ссылки. Если пункт поиск решения не отображается в разделе Доступные ссылки, нажмите кнопку Обзор и откройте элемент Solver.xlam во вложенной папке \Program Files\Microsoft Office\Office14\Library\SOLVER.

SolverFinishDialog( KeepFinal, ReportArray, OutlineReports)

KeepFinal Необязательный вариант Variant. Может быть 1 или 2. Если значение KeepFinal равно 1 или опущено, конечные значения решения сохраняются в изменяющихся ячейках, заменяя все прежние значения. Если значение KeepFinal равно 2, конечные значения решения отбрасываются, а прежние значения восстанавливаются. ReportArray Необязательный вариант Variant. Тип отчета, который Excel будет создавать по завершении решения:

  • При использовании метода Нелинейного решения Simplex LP или GRG 1 создает отчет об ответе, 2 — отчет о конфиденциальности, а 3 — отчет о пределе.

  • При использовании метода эволюционного решения 1 создает отчет об ответе, а 2 — отчет о численности населения.

  • Когда SolverSolve возвращает значение 5 (решателям не удалось найти возможное решение), 1 создает отчет о возможности, а 2 — отчет о Feasibility-Bounds.

  • Когда SolverSolve возвращает значение 7 (условия линейности не удовлетворяются), 1 создает отчет линейности.

Используйте функцию Array , чтобы указать отчеты, которые нужно отобразить, например ReportArray:= Array(1,3). OutlineReports Необязательный вариант Variant. Может иметь значение True или False. Если параметр OutlineReports имеет значение False или опущен, отчеты создаются в "обычном" формате без структурирования. Если параметр OutlineReports имеет значение True, отчеты создаются с выделенными группами, соответствующими диапазонам ячеек, введенным для переменных решения и ограничений.

Пример

В этом примере загружается ранее вычисляемая модель Решателя, хранящейся на Листе 1, выполняется повторное решение модели, а затем отображается диалоговое окно Готово с двумя предустановленными параметрами.

Worksheets("Sheet1").Activate 
SolverLoad loadArea:=Range("A33:A38") 
SolverSolve userFinish:=True 
SolverFinishDialog keepFinal:=1, reportArray:=Array(1)

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.