0

I am trying to write a code to iterate a problem. On first iteration, everythings works well, but when I add more iterations I start getting this error. It seems to occur only after I have executed solver. When I comment the "Solver" function the error disappears. I have tried adding SolverReset, and SolverFinish but that won't solve my problem. Please help, any ideas?

Sub Resolver()
   Dim i As Integer
   Dim j As Integer
   Dim s As Integer
   Dim q As Integer
    Dim N As Integer
    Dim H As Integer
    H = Sheet1.Cells(5, 40)
    N = Sheet1.Cells(5, 39)
    Sheet15.Select

    For i = 1 To N
    Cells(1, 2 + i) = i
    Next
    For j = 1 To H
    Cells(1, N + 2 + j) = "VAN " & j
    Next

For s = 1 To H
Sheet1.Cells(4, 35) = s
'solver function
SolverReset
Solver
SolverFinish
Application.Wait (Now + TimeValue("0:00:05"))
Worksheets("Macros").Range("Vector_X").Copy Worksheets("Aux").Range(Cells(s + 1, 3), Cells(s + 1, 3 + N))
        For q = 1 To H
        Sheet1.Cells(4, 35) = q
        Worksheets("Cmgs").Calculate
        Worksheets("Macros").Calculate
        Sheet15.Cells(s + 1, N + 2 + q) = Sheet2.Cells(3, 2).Value
        Next q

    Next s

    End Sub

Private Function Solver()
     Sheet2.Select     
       SolverOk SetCell:=Range("$C$3"), MaxMinVal:=2, ValueOf:=0, ByChange:=Range("$G$3:$M$3"), _
            Engine:=1, EngineDesc:="GRG Nonlinear"
        SolverDelete CellRef:=Range("$B$6"), Relation:=2, FormulaText:="0"
        SolverOk SetCell:=Range("$C$3"), MaxMinVal:=2, ValueOf:=0, ByChange:=Range("$G$3:$M$3"), _
            Engine:=1, EngineDesc:="GRG Nonlinear"
        SolverAdd CellRef:=Range("$B$6"), Relation:=1, FormulaText:=Range("$C$5")
        SolverAdd CellRef:=Range("$B$6"), Relation:=3, FormulaText:=-Range("$C$5")
        SolverOk SetCell:=Range("$C$3"), MaxMinVal:=2, ValueOf:=0, ByChange:=Range("$G$3:$M$3"), _
            Engine:=1, EngineDesc:="GRG Nonlinear"
        SolverOptions MaxTime:=600, Iterations:=10
        SolverSolve (True)
        Calculate
    End Function
Pᴇʜ
  • 56,719
  • 10
  • 49
  • 73

0 Answers0