Hello,

I run the code below, which is a part of my macro, in order to update a forecasting model parameters on every macro start, but the Solver never solves the problem. I know that for I run the Solver manually after the code is executed and I always find a new minimum. Could you please advise what can be wrong?

(I tried to loop running solver in a repetitive pattern, but the result is the same - not solving.)

( I inserted a waiting operator in roder to avoid the memory error - I succeeded by the way.)

'////////////////////////////////////////////////////
    '/Running the solver to update the forecasting model/
    '////////////////////////////////////////////////////

    SolverReset
    Application.Wait Now + TimeSerial(0, 0, 5)
    SolverOK SetCell:=Workbooks(macro_file_name).Sheets(forecast_sheet_name).Range("$N$4"), _
        MaxMinVal:=2, _
        ByChange:=Workbooks(macro_file_name).Sheets(forecast_sheet_name).Range("$Q$6:$Q$18, $S$6:$S$17"), _
        Engine:=1
        
    SolverAdd CellRef:=Workbooks(macro_file_name).Sheets(forecast_sheet_name).Range("$Q$5"), _
        relation:=2, _
        formulaText:=7
        
    SolverAdd CellRef:=Workbooks(macro_file_name).Sheets(forecast_sheet_name).Range("$S$5"), _
        relation:=2, _
        formulaText:=12
        
    SolverAdd CellRef:=Workbooks(macro_file_name).Sheets(forecast_sheet_name).Range("$Q$6:$Q$12"), _
        relation:=3, _
        formulaText:=0.1
        
    SolverAdd CellRef:=Workbooks(macro_file_name).Sheets(forecast_sheet_name).Range("$Q$6:$Q$12"), _
        relation:=1, _
        formulaText:=2
        
    SolverAdd CellRef:=Workbooks(macro_file_name).Sheets(forecast_sheet_name).Range("$S$6:$S$17"), _
        relation:=3, _
        formulaText:=0.1
        
    SolverAdd CellRef:=Workbooks(macro_file_name).Sheets(forecast_sheet_name).Range("$S$6:$S$17"), _
        relation:=1, _
        formulaText:=2
        
    SolverAdd CellRef:=Workbooks(macro_file_name).Sheets(forecast_sheet_name).Range("$Q$13"), _
        relation:=3, _
        formulaText:=1
        
    SolverAdd CellRef:=Workbooks(macro_file_name).Sheets(forecast_sheet_name).Range("$Q$13"), _
        relation:=1, _
        formulaText:=100000
        
    SolverAdd CellRef:=Workbooks(macro_file_name).Sheets(forecast_sheet_name).Range("$Q$14"), _
        relation:=3, _
        formulaText:=1000000
        
    SolverAdd CellRef:=Workbooks(macro_file_name).Sheets(forecast_sheet_name).Range("$Q$14"), _
        relation:=1, _
        formulaText:=5000000
        
    SolverAdd CellRef:=Workbooks(macro_file_name).Sheets(forecast_sheet_name).Range("$Q$15"), _
        relation:=3, _
        formulaText:=365
        
    SolverAdd CellRef:=Workbooks(macro_file_name).Sheets(forecast_sheet_name).Range("$Q$15"), _
        relation:=1, _
        formulaText:=5000
        
    SolverAdd CellRef:=Workbooks(macro_file_name).Sheets(forecast_sheet_name).Range("$Q$16"), _
        relation:=3, _
        formulaText:=0.01
        
    SolverAdd CellRef:=Workbooks(macro_file_name).Sheets(forecast_sheet_name).Range("$Q$16"), _
        relation:=1, _
        formulaText:=1
        
    SolverAdd CellRef:=Workbooks(macro_file_name).Sheets(forecast_sheet_name).Range("$Q$17"), _
        relation:=3, _
        formulaText:=-1
        
    SolverAdd CellRef:=Workbooks(macro_file_name).Sheets(forecast_sheet_name).Range("$Q$17"), _
        relation:=1, _
        formulaText:=1
        
    SolverAdd CellRef:=Workbooks(macro_file_name).Sheets(forecast_sheet_name).Range("$Q$18"), _
        relation:=3, _
        formulaText:=-1000000
        
    SolverAdd CellRef:=Workbooks(macro_file_name).Sheets(forecast_sheet_name).Range("$Q$18"), _
        relation:=1, _
        formulaText:=1000000
        
        
    SolverSolve userfinish:=True
    SolverFinish KeepFinal:=1