Excel Solver in VB

A

Ays

I am trying to run this piece of code but I am getting nothing but the first
constraint in the Solver. I'd be happy is someone could help me with this.
Thanks..

Public Sub DualSolver(K, M, N)
'Activate the DLP sheet
Sheets("DLP").Activate

'Reset the solver
SolverReset

'Objective Function
SolverOk SetCell:=Range("B4"), MaxMinVal:=1, ValueOf:="0",
ByChange:="Range(Cells(2, 2), Cells(2, M + N +
1)),Range(Cells(1,M+N+6),Cells(K,M+N+6))"

'Constraints

SolverAdd CellRef:=Cells(K + 1, M + N + 6), Relation:=2, FormulaText:="1"
SolverAdd CellRef:=Range(Cells(6, 2), Cells(6, M + N + 1)), Relation:=2,
FormulaText:="Range(Cells(8, 2), Cells(8, M + N + 1))"


'Solver Options
SolverOptions MaxTime:=100, Iterations:=10000, Precision:=0.000001,
AssumeLinear _
:=True, StepThru:=False, Estimates:=1, Derivatives:=1,
SearchOption:=1, _
IntTolerance:=5, Scaling:=False, Convergence:=0.0001,
AssumeNonNeg:=True

ActiveWorkbook.Worksheets("DLP").Cells(100, 100).Formula = 1 / 0
'Solve
SolverSolve UserFinish:=True


'Finish and discard
SolverFinish KeepFinal:=2
End Sub
 
M

merjet

Try putting a line continuation character (underscore) at the end of
the first of these lines:
SolverAdd CellRef:=Range(Cells(6, 2), Cells(6, M + N + 1)), Relation:=2,
FormulaText:="Range(Cells(8, 2), Cells(8, M + N + 1))"

Hth,
Merjet
 
A

Ays

Thank you very much Dana. With this I managed to get the objective function
in the solver but I still can not get the second constraint which is:

SolverAdd CellRef:=Range(Cells(6, 2), Cells(6, M + N + 1)), Relation:=2,
FormulaText:="Range(Cells(8, 2),Cells(8, M + N + 1))"

pLEASE discard ActiveWorkbook.Worksheets("DLP").Cells(100, 100).Formula = 1
/ 0
I added this piece in order to understand where my code stuck!

Thank you
 
A

Ays

I got rid of the "" in the second constraint and it worked...

Thank you very much for your time..
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top