Страница 1 из 1

Обновление отчета в VBA(поиск решения)

Добавлено: 18 июн 2006, 22:24
Boris_The_Blade
После операции «Поиск решения» мне нужно вывести «отчет по результатам». Я создал макрос на поиск решения, все работает, но если несколько раз выполнить поиск решения, то отчет не обновляется, а создается новый отчет и строки ограничений добавляются к строкам из предыдущего отчета(даже, если выйти из 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

Подскажите, пожалуйста, как сделать так, чтобы строки не добавлялись, а отчет обновлялся. Как очистить буфер отчета

Добавлено: 27 июн 2006, 02:11
Naeel Maqsudov
SolverDelete - удаляет ограничения, но он неудобен.

SolverLoad LoadArea:="$A$1" - очистит ВСЮ модель, если A1 - пустая ячейка.

Вообще, для управления Солвером из макросов удобнее всего использовать выгрузку и загрузку всей модели целиком

SolverSave SaveArea:="$D$15:$D$17"

What hosting to choose?

Добавлено: 16 окт 2015, 01:31
GeorgeSoca
На нашем сайте вы можете чувствовать себя в безопасности! Кроме того, мы используем зеркальные жесткие диски на все наши серверы, поэтому мы также взять резервную два раза в день на отдельных серверах. Мы используем ISPmanager, как на панели управления. ISPmanager является панель управления, которая позволяет легко управлять своей веб-сайт. С нами вы можете разместить столько веб-сайты и домены, которые вы хотите для учетной записи хостинга.
virtual hosting