После операции «Поиск решения» мне нужно вывести «отчет по результатам». Я создал макрос на поиск решения, все работает, но если несколько раз выполнить поиск решения, то отчет не обновляется, а создается новый отчет и строки ограничений добавляются к строкам из предыдущего отчета(даже, если выйти из excel, а потом войти обратно).
Листинг макроса:
Sub Поиск_решения()
'
' Поиск_решения Макрос
' Макрос записан 18.06.2006 ()
'
' Сочетание клавиш: Ctrl+п
'
Range("D4").Select
ActiveCell.FormulaR1C1 = "=SUMPRODUCT(R[-1]C[-2]:R[-1]C[-1],RC[-2]:RC[-1])"
Range("D7").Select
ActiveCell.FormulaR1C1 = "=SUMPRODUCT(R[-4]C[-2]:R[-4]C[-1],RC[-2]:RC[-1])"
Range("D8").Select
ActiveCell.FormulaR1C1 = "=SUMPRODUCT(R[-5]C[-2]:R[-5]C[-1],RC[-2]:RC[-1])"
SolverOk SetCell:="$D$4", MaxMinVal:=1, ValueOf:="0", ByChange:="$B$3:$C$3"
SolverOk SetCell:="$D$4", MaxMinVal:=1, ValueOf:="0", ByChange:="$B$3:$C$3"
SolverAdd CellRef:="$D$7", Relation:=1, FormulaText:="$E$7"
SolverAdd CellRef:="$D$8", Relation:=1, FormulaText:="$E$8"
SolverAdd CellRef:="$B$3:$C$3", Relation:=3, FormulaText:="0"
SolverOk SetCell:="$D$4", MaxMinVal:=1, ValueOf:="0", ByChange:="$B$3:$C$3"
SolverOptions MaxTime:=100, Iterations:=100, Precision:=0.000001, AssumeLinear _
:=True, StepThru:=False, Estimates:=1, Derivatives:=1, SearchOption:=1, _
IntTolerance:=5, Scaling:=False, Convergence:=0.0001, AssumeNonNeg:=False
SolverOk SetCell:="$D$4", MaxMinVal:=1, ValueOf:="0", ByChange:="$B$3:$C$3"
SolverSolve
End Sub
Подскажите, пожалуйста, как сделать так, чтобы строки не добавлялись, а отчет обновлялся. Как очистить буфер отчета
Обновление отчета в VBA(поиск решения)
Модератор: Naeel Maqsudov
- Naeel Maqsudov
- Сообщения: 2551
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
SolverDelete - удаляет ограничения, но он неудобен.
SolverLoad LoadArea:="$A$1" - очистит ВСЮ модель, если A1 - пустая ячейка.
Вообще, для управления Солвером из макросов удобнее всего использовать выгрузку и загрузку всей модели целиком
SolverSave SaveArea:="$D$15:$D$17"
SolverLoad LoadArea:="$A$1" - очистит ВСЮ модель, если A1 - пустая ячейка.
Вообще, для управления Солвером из макросов удобнее всего использовать выгрузку и загрузку всей модели целиком
SolverSave SaveArea:="$D$15:$D$17"
-
- Сообщения: 0
- Зарегистрирован: 12 окт 2015, 04:09
- Откуда: Guam
- Контактная информация:
На нашем сайте вы можете чувствовать себя в безопасности! Кроме того, мы используем зеркальные жесткие диски на все наши серверы, поэтому мы также взять резервную два раза в день на отдельных серверах. Мы используем ISPmanager, как на панели управления. ISPmanager является панель управления, которая позволяет легко управлять своей веб-сайт. С нами вы можете разместить столько веб-сайты и домены, которые вы хотите для учетной записи хостинга.
virtual hosting
virtual hosting