Я использую 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