Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/"Поиск решения" в VBA не добавляет "Ограничение" - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » "Поиск решения" в VBA не добавляет "Ограничение" (Макросы/Sub)
"Поиск решения" в VBA не добавляет "Ограничение"
devilkurs Дата: Четверг, 04.02.2016, 09:41 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 141
Репутация: 38 ±
Замечаний: 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]
Запускается кнопкой на листе "Произвести расчет надстройкой "Поиск Решения" "
ПРОШУ помощи. Очень нужно.
К сообщению приложен файл: 7690126.xlsm(38Kb)


 
Ответить
СообщениеДобрый день друзья.

Есть необходимость засунуть отработку "Поиск решения" в 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
Группа: Модераторы
Ранг: Экселист
Сообщений: 9869
Репутация: 2262 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
Здравствуйте.
Попробуйте единицу записать в какую-нибудь ячейку, а в коде на неё сослаться. Типа
[vba]
Код
FormulaText:="$A$19"
[/vba] вместо [vba]
Код
FormulaText:="1"
[/vba]


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Попробуйте единицу записать в какую-нибудь ячейку, а в коде на неё сослаться. Типа
[vba]
Код
FormulaText:="$A$19"
[/vba] вместо [vba]
Код
FormulaText:="1"
[/vba]

Автор - Pelena
Дата добавления - 04.02.2016 в 10:16
devilkurs Дата: Четверг, 04.02.2016, 10:39 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 141
Репутация: 38 ±
Замечаний: 0% ±

Excel 2007, 2010
Pelena,
ОГРОМНОЕ СПАСИБО!!! Все работает


 
Ответить
СообщениеPelena,
ОГРОМНОЕ СПАСИБО!!! Все работает

Автор - devilkurs
Дата добавления - 04.02.2016 в 10:39
_Boroda_ Дата: Четверг, 04.02.2016, 12:02 | Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 9374
Репутация: 3947 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Можно просто вот так написать
[vba]
Код
SolverAdd CellRef:="$B$19:$I$19", Relation:=3, FormulaText:="1.0"
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
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
Мир MS Excel » Вопросы и решения » Вопросы по VBA » "Поиск решения" в VBA не добавляет "Ограничение" (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!