Problema con solver

3 envíos / 0 nuevos
Último envío
ivancavazza
Imagen de ivancavazza
Offline
última acción: Hace 7 años 1 mes
alta: 08/03/2017 - 13:28
Puntos: 35
Problema con solver

Hola Foristas, que tal?

Les traigo un problema con un codigo que hice para automatizar la funcion solver cada vez que cambio la celda g9 en mi planilla.

El código es el siguiente:

 

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim Prima As Range

    Set Prima = Range("g9")

    

    If Not Intersect(Target, Prima) Is Nothing Then

        

        SolverReset

        SolverOK SetCell:=Range("G145"), _

        MaxMinVal:=1, _

        ByChange:=Range("g146")

        

        SolverAdd cellRef:=Range("G145"), _

        relation:=2, _

        formulaText:=Range("G9")

        SolverSolve UserFinish:=True

    End If

    

End Sub

 

Y el problema es el siguiente:

Aunque todo marcha bien cuando cambio la celda g9, es decir se ejecuta el solver y me devuelve el valor de g146 tal que g145 sea igual a g9, cuando cambio la celda g9 por ejemplo de 2 a 2,5 solver me devuelve un valor para g146 tal que g145 sea igual 25 y no 2,5. En otras palabras la restriccion del solver me toma el valor de g9 como si fuese un entero y no me reconoce el decimal. Por el contrario si el cambio en la celda g9 fuese de 2 a 3, el codigo funciona a la perfeccion.

Desde ya muchas gracias por la ayuda 

 

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 3 semanas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Suena a que no toma la coma

Suena a que no toma la coma como decimal. Prueba a poner 2.5, o carga el valor en alguna variable y luego pásasela al solver, no vaya a ser que haya un bug con el tema de la internacionalización.

 

Un saludo

ivancavazza
Imagen de ivancavazza
Offline
última acción: Hace 7 años 1 mes
alta: 08/03/2017 - 13:28
Puntos: 35
Gracias por tu respuesta cron

Gracias por tu respuesta cronSonrisa