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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » "Поиск решения" в VBA не добавляет "Ограничение" (Макросы/Sub)
"Поиск решения" в VBA не добавляет "Ограничение"
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]
Запускается кнопкой на листе "Произвести расчет надстройкой "Поиск Решения" "
ПРОШУ помощи. Очень нужно.
К сообщению приложен файл: 7690126.xlsm (37.9 Kb)


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

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

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


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

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

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


 
Ответить
Сообщение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]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
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 из 1
  • 1
Поиск:

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