Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I have trouble getting a solver call to work, but another call does
work. Let me show you what I have so far. On a form I have two solver calls, the first one works but the second doesn't. There is no error (at least none that I can recall) , it's just that the solver doesn't run, meaning the cell $A$150 has the same value at the end as it had in the beginning. Even debugging the code doesn't give me any clues. I calculated everything by hand and I am pretty sure that there is a valid solution for this equation. What am I doing wrong? The first one( this one works) '//Iteration algorithm for determening the inner dia meter of the expanded liner by using the Solver '//Creating a temporary changing cell Sheets("outputExpansion").Cells(150, 1) =(Sheets("InputValues").Cells(13, 2) - 2 * Sheets("InputValues").Cells(14, 2)) * 25.4 '//Creating a temporary target cell If m_rho = (-2 / 3) Then Sheets("outputExpansion").Cells(149, 1).Formula = "=$A$150 + (2* InputValues!B14 * 25.4) * ($A$150 / ((InputValues!B13 - 2 *InputValues!B14))* 25.4) ^ (-2 / 3) - ((InputValues!B4 - 2 * InputValues!B2) * 25.4)" Else Sheets("outputExpansion").Cells(149, 1).Formula = "=$A$150 + (2* InputValues!B14 * 25.4) * ($A$150 / ((InputValues!B13 - 2 *InputValues!B14))* 25.4) ^ (-1) - ((InputValues!B4 - 2 *InputValues!B2) * 25.4)" End If '//Actual Solver procedure Sheets("outputExpansion").Select solver.Auto_open SolverOk SetCell:="$A$149", MaxMinVal:=3, ValueOf:="0",ByChange:="$A$150" SolverSolve UserFinish:=True SolverFinish KeepFinal:=1 solver.Auto_close '//The inner dia meter of the liner after the Solver procedure de = Sheets("outputExpansion").Cells(150, 1) '//Delete the temporary cells Sheets("outputExpansion").Cells(150, 1).Delete Sheets("outputExpansion").Cells(149, 1).Delete '//================================================== ========================== Now the second one, where I need to know the value of $A$150, B9 = 0.003, B7= 0.19 , B3 = 0.26, B2 = 0.28 '// Maximum expansion ratio for rho = -2/3 Sheets("outputExpansion").Cells(150, 1) = 0.0001 Sheets("outputExpansion").Cells(149, 1).Formula = "=((InputValues!B9 +$A$150)/(1.52765618* InputValues!B7))^InputValues!B7*(2.71828182845904^ (InputValues!B7 -($A$150 + InputValues!B9)/1.52765618))- ((InputValues!B3 *25.4)/(InputValues!B2 * 25.4)) " '//Actual Solver procedure Sheets("outputExpansion").Select solver.Auto_open SolverOk SetCell:="$A$149", MaxMinVal:=3, ValueOf:="0",ByChange:="$A$150" SolverSolve UserFinish:=True SolverFinish KeepFinal:=1 solver.Auto_close '//The inner dia meter of the liner after the Solver procedure delta_exp_ratio = Sheets("outputExpansion").Cells(150, 1) '//Delete the temporary cells Sheets("outputExpansion").Cells(150, 1).Delete Sheets("outputExpansion").Cells(149, 1).Delete '//================================================== ======= |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Having Solver Call a macro for each iteration | Excel Discussion (Misc queries) | |||
Interesting Solver problem (Solver encounters an error) | Excel Discussion (Misc queries) | |||
how can call up solver with a button | Excel Programming | |||
is there anyway to call the Solver add-in as a function? | Excel Programming | |||
is there anyway to call the Solver add-in as a function? | Excel Programming |