Ошибка надстройки Солвера, файл solver32.dll не найден и произошла непредвиденная ошибка - PullRequest
0 голосов
/ 30 октября 2019

Я использую Excel 2016. Я пытаюсь автоматизировать Солвер, чтобы оптимизировать мое портфолио. Код работает на несколько штук, но он не работает на моих и некоторых моих коллег. ошибка, solver32.dll не найден, и иногда я получаю неожиданную ошибку или исчерпываю доступную память.

Я нашел много возможных решений: 1. отключить солвер и перезапустить Excel и загрузить его снова 2изменить настройки безопасности для activex, чтобы предложить мне 3. переустановить / восстановить офис 4. добавить ограничения по ячейкам и многое другое.

Единственное, что помогло, это установить 64-битный офис.

Теперь солвер работает вручную. При использовании кода VBA он застревает в функции solverAdd. Есть идеи?

    SolverReset
    SolverOK setCell:=Range("T28"), MaxMinVal:=1, ByChange:=Range("weights"), Engine:=1
    'adding lower constraints
    For i = 1 To 8
        SolverAdd CellRef:=Range("S15").Offset(i, 0), Relation:=3, FormulaText:=Range("S15").Offset(i, -2).Value
    Next i
    'adding upper constraints
    For i = 1 To 8
        SolverAdd CellRef:=Range("S15").Offset(i, 0), Relation:=1, FormulaText:=Range("S15").Offset(i, -1).Value
    Next i
    'portfolio must add to 100%
    SolverAdd CellRef:=Range("Total"), Relation:=2, FormulaText:=1

    SolverFinish KeepFinal:=1
    SolverSolve UserFinish:=True

1 Ответ

0 голосов
/ 30 октября 2019

Проверьте, включена ли солверная надстройка. Перейдите на вкладку «Файл»> «Параметры»> «Управление надстройками Excel» (кнопка «Перейти» в нижней части окна) и проверьте, включен ли Солвер. Если затем попытаться снять все флажки и перезапустить Excel, сделайте то же самое и снова включите Солвер.

Был ли файл изначально создан в Excel 2010? Если это так, это может быть проблемой несовместимости. Некоторые люди, очевидно, пытались скопировать и вставить лист в новый лист Excel 2016, и проблема была решена.

Это также может быть проблема, связанная с надстройкой COM. Перейдите на вкладку «Разработчик» и попробуйте снять все параметры в надстройках COM.

...