COMO PROGRAMAR LA FUNCIÓN SOLVER EN VBA

3 envíos / 0 nuevos
Último envío
iloz
Imagen de iloz
Offline
última acción: Hace 5 años 8 meses
alta: 22/11/2008 - 06:05
Puntos: 75
COMO PROGRAMAR LA FUNCIÓN SOLVER EN VBA

Buenas tardes foristas,

 

Soy un programador principiante y ocasional de VBA bajo excel.

Mi forma de programar desde hace bastante tiempo consistía en GRABAR MACRO ejecutar las funciones que me interesaban y entonces EDITAR el programador de macros y de este modo ya iba introduciendo las variables, bucles o lo que se terciara.

 

Así me funcionaba con la función solver y no tenía problemas hasta antes del Excel 2007. No obstante, a partir de excel 2007 y en adelante ya no me funciona. Para ser más claro os lo digo con el siguiente ejemplo:

 

PASO 1: GRABO LA FUNCIÓN SOLVER

Sub Macro1()
'
' Macro1 Macro
'

'
    SolverAceptar definirCelda:="$U$6", valorMáxMín:=3, valorDe:="1000", _
        celdasCambiantes:="$C$4"
    SolverAgregar referenciaCelda:="$C$4", relación:=3, Formula:="1"
    SolverAceptar definirCelda:="$U$6", valorMáxMín:=3, valorDe:="1000", _
        celdasCambiantes:="$C$4"
    SolverResolver
End Sub

 

PASO 2: "PERSONALIZO" LA FUNCIÓN

Aquí está el problema, porque cuando por ejemplo en la segunda línea de la macro anterior intento hacer bucles con solver cambiando la celda "$C$4" por un bucle iterativo en toda la columna C (por ejemplo de i=4 a 20). Esto es:

            celdasCambiantes:="$C$4" 

            LO QUIERO CAMBIAR POR (en un bucle de i = 4 to 20)   
            celdasCambiantes:="$C$" & i
NO FUNCIONA Y ME DA ERROR.

ME PODEIS AYUDAR CON SOLVER... EN CASO AFIRMATIVO, CÓMO HARÍA CON OTRAS FUNCIONES POR EJEMPLO (funciones de Análisis de datos (estadísticas,...)).

FINALMENTE OS AGRADEZCO DE ANTEMANO VUESTRA AYUDA Y DAR LA ENHORABUENA AL AUTOR DEL LIBRO (YA SÉ EXCEL) Y PROMOTOR DEL FORO.

Etiquetas: 

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 4 horas 8 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 10640
referencia

te contesto aquí http://www.necesitomas.com/excel-vba-solver#comment-5791

(vi aquel mensaje primero

 

------
Ya sé Excel, pero necesito más.

Karen (no verificado)
Imagen de Karen
duda solver

Hola, ya hice lo que usted recomendó y sí funciona, ya programé el solver pero siempre me da 1, en el archivo que lo estoy haciendo tiene muchas macros y los numeros que referencio como función objetivo, celda cambiante y restricciones son números arrojados por una macro, entonces no sé si ese es el problema, porque al utilizar el código en otro archivo que no tiene macros sino que son funciones de excel sí me funciona el código. Por favor ayudeme, tengo un proyecto para entregar hoy.  Muchas gracias