LLamar solver desde VBA

18/07/2003 - 21:25 por Jorge | Informe spam
Buenas tardes, Fernando Arroyo me dió una macro de
ejemplo para hacerlo y establecí una referencia a
Solver.xls desde Herramientas->Referencias, estando en el
editor de VBA pero nome funcionó, cómo puedo hacer? cuál
es el problema? me sale el error: No se ha definido Sub o
Funtion.

Sub UsarSolver()
'Se trata de averiguar el valor que debe tener la
celda B1 para que _
el resultado de la fórmula de la celda C1 (¡*B1)
sea 5
With ActiveSheet
.Range("A1") = 5 'Poner un dato en A1
.Range("C1").Formula = "¡*B1" 'Poner la fórmula
en C1
solverok setcell:=.Range("C1"), maxminval:=3,
valueof:="5", bychange:=.Range("B1")
End With
solversolve userfinish:=True 'Resolver
(userfinish:=true para que no se presente el diálogo
final)
End Sub

Gracias por la colaboración.

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
18/07/2003 - 22:08 | Informe spam
A mí sí me funciona. ¿Pones el código en un módulo creado por ti (no en ThisWorkbook ni en ninguno de los de las hojas?. Y también conviene que antes de establecer la referencia tengas activado Solver desde Herramientas->Complementos.
Si sigue sin funcionarte, dínos en qué línea se rompe la ejecución del código o aparece el error al compilar.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Jorge" escribió en el mensaje news:02da01c34d62$52623f10$
Buenas tardes, Fernando Arroyo me dió una macro de
ejemplo para hacerlo y establecí una referencia a
Solver.xls desde Herramientas->Referencias, estando en el
editor de VBA pero nome funcionó, cómo puedo hacer? cuál
es el problema? me sale el error: No se ha definido Sub o
Funtion.

Sub UsarSolver()
'Se trata de averiguar el valor que debe tener la
celda B1 para que _
el resultado de la fórmula de la celda C1 (¡*B1)
sea 5
With ActiveSheet
.Range("A1") = 5 'Poner un dato en A1
.Range("C1").Formula = "¡*B1" 'Poner la fórmula
en C1
solverok setcell:=.Range("C1"), maxminval:=3,
valueof:="5", bychange:=.Range("B1")
End With
solversolve userfinish:=True 'Resolver
(userfinish:=true para que no se presente el diálogo
final)
End Sub

Gracias por la colaboración.
Respuesta Responder a este mensaje
#2 Jorge
18/07/2003 - 22:51 | Informe spam
Hola Fernando, Gracias por la atención. tengo activado el
solver por complementos, tengo creado un módulo aparte,
activé la referencia del solver y la ejecución del código
no pasa de Sub UsarSolver() y señala la parte donde dice:
solverok y sale el error: No se ha definido Sub o Funtion.

Me cuenta por favor qué será...


A mí sí me funciona. ¿Pones el código en un módulo


creado por ti (no en ThisWorkbook ni en ninguno de los de
las hojas?. Y también conviene que antes de establecer la
referencia tengas activado Solver desde Herramientas-
Complementos.
Si sigue sin funcionarte, dínos en qué línea se rompe la


ejecución del código o aparece el error al compilar.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Jorge" escribió en el mensaje


news:02da01c34d62$52623f10$
Buenas tardes, Fernando Arroyo me dió una macro de
ejemplo para hacerlo y establecí una referencia a
Solver.xls desde Herramientas->Referencias, estando en


el
editor de VBA pero nome funcionó, cómo puedo hacer? cuál
es el problema? me sale el error: No se ha definido Sub


o
Funtion.

Sub UsarSolver()
'Se trata de averiguar el valor que debe tener la
celda B1 para que _
el resultado de la fórmula de la celda C1 (¡*B1)
sea 5
With ActiveSheet
.Range("A1") = 5 'Poner un dato en A1
.Range("C1").Formula = "¡*B1" 'Poner la


fórmula
en C1
solverok setcell:=.Range("C1"), maxminval:=3,
valueof:="5", bychange:=.Range("B1")
End With
solversolve userfinish:=True 'Resolver
(userfinish:=true para que no se presente el diálogo
final)
End Sub

Gracias por la colaboración.
.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida