Thread: Solver in VBA
View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
TweakMan TweakMan is offline
external usenet poster
 
Posts: 1
Default Solver in VBA

I've got the same problem and procceded as instructed... and still nothing...
VBA says "can't find the macro "solver.xla!solverreset""

What to do??

Thank you very much! I don't know how the world would continue spinning if
it weren't people like you =)

Regards

"Dana DeLouis" wrote:

Hi. Under Help for "Run"...

Remarks
You cannot use named arguments with this method. Arguments must be passed by
position.
Therefore...

Run "Solver.xla!SolverOk", "B10", 3, 0, "B11"

--
HTH :)
Dana DeLouis
Windows XP & Office 2003


"maryj" wrote in message
...
Hi Jon,

Thanks for you suggestions.

Here is how we modified our code:

Application.Run "solver.xla!solverreset"
Application.Run "solver.xla!solverok", SetCell:="$B$10", MaxMinVal:=3,
ValueOf:="0", ByChange:="$B$11"
Result = Application.Run("solver.xla!solversolve", True)
Application.Run "solver.xla!solverfinish"

It stops at SetCell and gives the error: Compile error: Named argument not
found.

--
maryj


"Jon Peltier" wrote:

It may be an issue of mismatched references. For instance, when used in
Excel 2000, there would be a reference to Solver 2000. When it is next
used
in 2003, Excel updates the reference in the workbook. Then when it is
sent
back to someone on Excel 2000, Excel cannot find the reference to Solver
2003 and doesn't know to downdate the reference, and you get the error.
You
could manually update the reference every time, which is a pain after the
second or third time you go through it; you can even programmatically
update
references, but this is loaded with issues, including security settings.
Alternatively you could use Aplication.Run to call the solver functions,
which is more straightforward and doesn't rely on references, only that
the
addin is installed:

Instead of these:

SolverReset
SolverOk SetCell:=Range("TotalVolume"), MaxMinVal:=3, Valueof:=27,
ByChange:=Range("Mass")
SolverAdd CellRef:=Range("Mass1"), Relation:=3, FormulaText:=0
Result = SolverSolve(UserFinish:=True)
SolverFinish

use these:

Application.Run "solver.xla!solverreset"
Application.Run "solver.xla!solverok", "TotalVolume", 3, 27, "Mass"
Application.Run "solver.xla!solveradd", "Mass1", 3, 0
Result = Application.Run("solver.xla!solversolve", True)
Application.Run "solver.xla!solverfinish"

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Tutorials and Custom Solutions
http://PeltierTech.com
_______


"maryj" wrote in message
...
Client is using Excel 03/WinXP. She has some code that uses the Solver.
It
worked fine with Excel 2000 but now is giving : Compile error:
Sub or Function not defined.

The solver addin is turned on in Tools, Addins. We even readded the
Solver
addin by navigating to the xla file to make sure it was looking at the
correct file. Macro security is at Medium and macros are enabled.

When we go into the References in VB Editor, we check the Solver
reference,
save the code but when go back into Excel, the reference is once again
unchecked. We even used the browse button here to locate the correct
file
but
it still won't stick.

We've also checked the Analysis Toolpack and Analysis Toolpack VBA
addins
and still having problems.

What else can we try???
--
maryj