Страницы: 1
RSS
Макрос выдает ошибку 53 (поиск решения)
 
Всем еще раз здравствуйте!

Вопрос по той же теме почти, что и в предыдущей теме.
Имеется макрос поиска решения:
Код
Sub M_Resoudre()
'
' M_Resoudre Macro
'
On Error Resume Next
'ActiveSheet.Unprotect Password:=""
'
    SolverOk SetCell:="$AI$34", MaxMinVal:=3, ValueOf:=0, ByChange:="$AI$24:$AI$33", _
        Engine:=2, EngineDesc:="Simplex LP"
    SolverOk SetCell:="$AI$34", MaxMinVal:=3, ValueOf:=0, ByChange:="$AI$24:$AI$33", _
        Engine:=2, EngineDesc:="Simplex LP"
        
    SolverSolve UserFinish:=True
    On Error Resume Next
'ActiveSheet.Protect Password:=""

End Sub



Суть в том, что макрос не срабатывает. Все макросы включены, надстройки, библиотеки... А если пробую запустить вручную: данные - поиск решения - найти решение - выдает ошибку 53 Can't find SOLVER32.dll
Читала, что этот сис.файл можно до установить. Но эта ошибка выходит не у всех за одним компьютером! Зайду я под своей учеткой с общего диска ошибки нет и все шикарно. Зайдет кто-то другой - уже есть ошибка. Компьютер тот же. Разные учетные записи. Эксель я так поняла не влияет, у меня и в 2016, и в 2013 может и не может выходить эта ошибка... В общем идей не осталось. Причин логичных, каких-либо зависимостей уже не вижу. Помогите, в чем проблема???

Заранее спасибо всем, кто откликнется
 
В надстройках надо включить "Поиск решения VBA"
Неизлечимых болезней нет, есть неизлечимые люди.
 
TheBestOfTheBest, спасибо большое! Пойду пробовать
А почему у некоторых надо, а у некоторых и без этого  работает?

Попробовала, нет такого поиска решения VBA... есть анализ данных VBA... И все та же ошибка(
Изменено: Honey - 09.08.2016 12:31:25
 
Значит, нужно установить из установочного пакета офиса.
 
Влад, но ведь работает у некоторых и без этого... Пробовала установить сам solver32.dll, как и писала выше, да работает, но стоит на этот же комп войти под другим именем - та же история с ошибкой.
 
Может дело в макросе? Может он сама по себе какой-то "больной"? :(
 
Могу помочь по TeamViewer.
Виноват, в редакторе макросов Alt+F11 - Меню-Tools-References - Solver ставим галочку.

Вот, что говорят люди:
Скрытый текст
Изменено: TheBestOfTheBest - 09.08.2016 13:02:38
Неизлечимых болезней нет, есть неизлечимые люди.
 
TheBestOfTheBest, и это тоже пробовали)))
 
На данный момент если добавить solver32.dll - все работает. Пока! Завтра буду еще тестить... Будут результаты отпишусь...
Но это не отвечает на главный вопрос! А в чем прикол-то? По какому критерию там работает, а тут нет...
 
Похоже у Вас на некоторых компьютерах "криво" установлен офис.
Неизлечимых болезней нет, есть неизлечимые люди.
 
Сегодня выяснилось кое-что новое. Есть такой же файл с другого филиала. Я его запросила для сравнения (ну если есть ошибка-выяснить где же) Кроме номеров строк, столбцов и других незначительных изменений все идентично. Но интересно то, что если две книги открыты параллельно - все работает и без солвера32. То есть словно мой файл запрашивает/ссылается на данные с другого файла (другого филиала) и найдя все решает. Пересмотрела снова макросы и условия в поиске решения. только ячейки разные используются. Остальное также...
TheBestOfTheBest, а может ли быть, что офис на компьютере у одного пользователя работает исправно, а зайдя на этот же компьютер под другим пользователем - уже ошибка?
Переписала макрос... Теперь он такой:
Код
Sub M_Resoudre()'
' M_Resoudre Macro'
    SolverOk SetCell:="$AJ$35", MaxMinVal:=3, ValueOf:=0, ByChange:="$AJ$24:$AJ$33" _
       , Engine:=2, EngineDesc:="Simplex LP"
    SolverOk SetCell:="$AJ$35", MaxMinVal:=3, ValueOf:=0, ByChange:="$AJ$24:$AJ$33" _
       , Engine:=2, EngineDesc:="Simplex LP"
    SolverSolve UserFinish:=True
End Sub

Ошибка 53 больше не появлялась. Теперь ошибка 453!
Изменено: Honey - 10.08.2016 11:12:07
 
Ошибка то осталась, Solver32 вы ему подсунули, но видимо не от того офиса. От версии к версии эта надстройка очень существенно менялась. Вот теперь он не может найти точку входа.
Цитата
а может ли быть, что офис на компьютере у одного пользователя работает исправно, а зайдя на этот же компьютер под другим пользователем - уже ошибка?
Зависит от того как установлен офис. Обычно его ставят для всех пользователей компьютера, и для всех пользователей он одинаковый.

Еще такой вопрос, зачем в коде две одинаковые строки?
Неизлечимых болезней нет, есть неизлечимые люди.
 
TheBestOfTheBest, Вроде бы решилось... Переименовали солвер 32 на просто солвер и все... Правда теперь эксель после закрытия иногда запрашивает пароль от солвера какой-то. Мы его через диспетчер задач - снять задачу эксель  - убираем.
При записи макроса сразу так и было. Пробовала убрать, но тогда макрос работает некорректно.
 
Переустановите офис на компьютере и установите все обновления для него, полагаю проблема Ваша решится.
Неизлечимых болезней нет, есть неизлечимые люди.
 
TheBestOfTheBest, спасибо Вам большое!!! :)
Страницы: 1
Читают тему
Наверх