2015-07-24 4 views
0

Я создал макрос, который отлично работает в 2010 году, но когда я пытаюсь запустить 2007, он выдает сообщение об ошибке «Ошибка времени выполнения» 450 «Неверное количество аргументов или недопустимое свойство . назначение:»Я решатель Аддин integration- Я прикрепил файл Excel - В этом листе под названием "Multilinesup" и кнопка макросъемки "Run Optimizer"Excel 2007 VBA Ошибка # 450 - Solver Addin

Пожалуйста, помогите

http://excelbyjoe.com/MEF/wp-content/uploads/2015/07/MLB-Optimal-lineups-v3-2007.xlsm

.. Проблема заключается в коде SolverOk

Пожалуйста, помогите

+2

Можете ли вы разместить свой код в вопросе, пожалуйста? – GrandMasterFlush

+0

@GrandMasterFlush - это действительно большой код и форум, не позволяющий мне вставлять весь код, поэтому вот точный код, который я запустил с помощью «Application.Run» SolverOk »,« $ ak $ 2 », 1,« 0 », «$ g $ 2: $ g $ 200», 2, «Simplex LP» ' –

+0

Ребята, пожалуйста, помогите мне. –

ответ

0

Функция SolverOK принимает four arguments in Excel 2007 и six arguments in Excel 2010. Два дополнительных аргумента, которые он принимает в Excel 2010, определяют механизм решателя. Если вы удалите эти аргументы, он должен работать.

Альтернативный способ указать двигатель Simplex LP - установить SolverOptions AssumeLinear:=True. Это должно отлично работать для обеих версий.

+0

Сэр действительно Извините, но я не уверен, как изменить код. Это я получаю код ошибки «Application.Run» SolverOk »,« $ ak $ 2 », 1,« 0 »,« $ g $ 2: $ g $ 200 », 2,« Simplex LP »**' поэтому означает, что скажем, это должно быть «Application.Run» SolverOk »,« $ ak $ 2 », 1,« 0 »,« $ g $ 2: $ g $ 200, SolverOptions AssumeLinear: = True »- это правильно –

+0

Измените его на Application.Run «SolverOk», «$ ak $ 2», 1, «0», «$ g $ 2: $ g $ 200». – Ioannis

+0

затем добавить SolverOptions AssumeLinear: = True в другой строке. – Ioannis

Смежные вопросы