devilkurs
Дата: Четверг, 04.02.2016, 09:41 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 167
Репутация:
43
±
Замечаний:
0% ±
Excel 2007, 2010
Добрый день друзья. Есть необходимость засунуть отработку "Поиск решения" в VBA. Не могу понять по какой причине не добавляет одно из трех "Ограничений" (Офис 2007) Причем, если руками в форму вносить, то все хорошо, а из кода не добавляет (ни ошибки, ни сообщения не выкидывает, тупо в холостую отрабатывает строку: [vba]Код
SolverAdd CellRef:="$B$19:$I$19", Relation:=3, FormulaText:="1" 'первое ограничение
[/vba] Весь код (в файле-примере находится в Module1 внизу): [vba]Код
Sub Poisk_Resheniya() SolverLoad LoadArea:="$a$1" 'очистим форму SolverOk SetCell:="$N$20", MaxMinVal:=2, ValueOf:="0", ByChange:="$K$6:$K$18" 'основные настройки SolverAdd CellRef:="$B$19:$I$19", Relation:=3, FormulaText:="1" 'первое ограничение SolverAdd CellRef:="$K$20", Relation:=1, FormulaText:="4444" 'второе ограничение SolverAdd CellRef:="$K$6:$K$18", Relation:=5, FormulaText:="бинарное" 'третье ограничение SolverOk SetCell:="$N$20", MaxMinVal:=2, ValueOf:="0", ByChange:="$K$6:$K$18" 'основные настройки SolverSolve True End Sub
[/vba] Запускается кнопкой на листе "Произвести расчет надстройкой "Поиск Решения" " ПРОШУ помощи. Очень нужно.
Добрый день друзья. Есть необходимость засунуть отработку "Поиск решения" в VBA. Не могу понять по какой причине не добавляет одно из трех "Ограничений" (Офис 2007) Причем, если руками в форму вносить, то все хорошо, а из кода не добавляет (ни ошибки, ни сообщения не выкидывает, тупо в холостую отрабатывает строку: [vba]Код
SolverAdd CellRef:="$B$19:$I$19", Relation:=3, FormulaText:="1" 'первое ограничение
[/vba] Весь код (в файле-примере находится в Module1 внизу): [vba]Код
Sub Poisk_Resheniya() SolverLoad LoadArea:="$a$1" 'очистим форму SolverOk SetCell:="$N$20", MaxMinVal:=2, ValueOf:="0", ByChange:="$K$6:$K$18" 'основные настройки SolverAdd CellRef:="$B$19:$I$19", Relation:=3, FormulaText:="1" 'первое ограничение SolverAdd CellRef:="$K$20", Relation:=1, FormulaText:="4444" 'второе ограничение SolverAdd CellRef:="$K$6:$K$18", Relation:=5, FormulaText:="бинарное" 'третье ограничение SolverOk SetCell:="$N$20", MaxMinVal:=2, ValueOf:="0", ByChange:="$K$6:$K$18" 'основные настройки SolverSolve True End Sub
[/vba] Запускается кнопкой на листе "Произвести расчет надстройкой "Поиск Решения" " ПРОШУ помощи. Очень нужно. devilkurs
Ответить
Сообщение Добрый день друзья. Есть необходимость засунуть отработку "Поиск решения" в VBA. Не могу понять по какой причине не добавляет одно из трех "Ограничений" (Офис 2007) Причем, если руками в форму вносить, то все хорошо, а из кода не добавляет (ни ошибки, ни сообщения не выкидывает, тупо в холостую отрабатывает строку: [vba]Код
SolverAdd CellRef:="$B$19:$I$19", Relation:=3, FormulaText:="1" 'первое ограничение
[/vba] Весь код (в файле-примере находится в Module1 внизу): [vba]Код
Sub Poisk_Resheniya() SolverLoad LoadArea:="$a$1" 'очистим форму SolverOk SetCell:="$N$20", MaxMinVal:=2, ValueOf:="0", ByChange:="$K$6:$K$18" 'основные настройки SolverAdd CellRef:="$B$19:$I$19", Relation:=3, FormulaText:="1" 'первое ограничение SolverAdd CellRef:="$K$20", Relation:=1, FormulaText:="4444" 'второе ограничение SolverAdd CellRef:="$K$6:$K$18", Relation:=5, FormulaText:="бинарное" 'третье ограничение SolverOk SetCell:="$N$20", MaxMinVal:=2, ValueOf:="0", ByChange:="$K$6:$K$18" 'основные настройки SolverSolve True End Sub
[/vba] Запускается кнопкой на листе "Произвести расчет надстройкой "Поиск Решения" " ПРОШУ помощи. Очень нужно. Автор - devilkurs Дата добавления - 04.02.2016 в 09:41
Pelena
Дата: Четверг, 04.02.2016, 10:16 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19195
Репутация:
4422
±
Замечаний:
±
Excel 365 & Mac Excel
Здравствуйте. Попробуйте единицу записать в какую-нибудь ячейку, а в коде на неё сослаться. Типа [vba][/vba] вместо [vba][/vba]
Здравствуйте. Попробуйте единицу записать в какую-нибудь ячейку, а в коде на неё сослаться. Типа [vba][/vba] вместо [vba][/vba] Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Здравствуйте. Попробуйте единицу записать в какую-нибудь ячейку, а в коде на неё сослаться. Типа [vba][/vba] вместо [vba][/vba] Автор - Pelena Дата добавления - 04.02.2016 в 10:16
devilkurs
Дата: Четверг, 04.02.2016, 10:39 |
Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 167
Репутация:
43
±
Замечаний:
0% ±
Excel 2007, 2010
Pelena, ОГРОМНОЕ СПАСИБО!!! Все работает
Pelena, ОГРОМНОЕ СПАСИБО!!! Все работает devilkurs
Ответить
Сообщение Pelena, ОГРОМНОЕ СПАСИБО!!! Все работает Автор - devilkurs Дата добавления - 04.02.2016 в 10:39
_Boroda_
Дата: Четверг, 04.02.2016, 12:02 |
Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация:
6481
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Можно просто вот так написать [vba]Код
SolverAdd CellRef:="$B$19:$I$19", Relation:=3, FormulaText:="1.0"
[/vba]
Можно просто вот так написать [vba]Код
SolverAdd CellRef:="$B$19:$I$19", Relation:=3, FormulaText:="1.0"
[/vba] _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Можно просто вот так написать [vba]Код
SolverAdd CellRef:="$B$19:$I$19", Relation:=3, FormulaText:="1.0"
[/vba] Автор - _Boroda_ Дата добавления - 04.02.2016 в 12:02