Macros

Sabes tengo la siguiente macro que necesito ocupar para 200 o más datos y seguiría esta secuencia: (utilizando solver).
SolverOk SetCell:="$AQ$11", MaxMinVal:=3, ValueOf:="0", ByChange:="$AM$11"
SolverSolve
SolverOk SetCell:="$AQ$12", MaxMinVal:=3, ValueOf:="0", ByChange:="$AM$12"
SolverSolve
SolverOk SetCell:="$AQ$13", MaxMinVal:=3, ValueOf:="0", ByChange:="$AM$13"
SolverSolve
SolverOk SetCell:="$AQ$14", MaxMinVal:=3, ValueOf:="0", ByChange:="$AM$14"
SolverSolve
Entonces como puedo automatizar con un ciclo for u otra cosa ya que el hecho de que las celdas estén entre comillas no funciona adecuadamente.
Además al final siempre aparece una pregunta que siempre va se aceptar, pero como hago para que sea así con la macro.
Gracias por tu ayuda y pronta respuesta.
José
Respuesta
1
José,
fíjate si el bucle que te muestro te sirve. Avísame si no se entiende, pero lo que hago es correr el solver 10 veces, corriendo solver resolviendo desde la celda AQ11 hasta la AQ20. Fíjate que indico el número de fila con "i", una variable tipo entera, que va a ir aumentando de a uno desde el número 11 (ahí pon el número de fila de tu primer celda objetivo), hasta el 20 (si en tu caso son 200, deberías modificar ese número).
Acuérdate siempre de agregar la referencia a Solver.xla como te dije la vez pasada.
Sub MiSolver()
Dim i As Integer
For i = 11 To 20
SolverOk SetCell:="$AQ$" & i, MaxMinVal:=3, ValueOf:="0", ByChange:="$AM$" & i
SolverSolve
Next
End Sub
Gracias Jorgelina por tu gran ayuda, pero tengo una pregunta más y es que al ejecutar el comando, aparece un recuadro donde pide si acepto la solución o no, en estos casos siempre la voy aceptar, entonces cual sería el comando adecuado a utilizar.
Gracias por tu ayuda y pronta respuesta.
José.
José,
sí, olvidé decirte esa parte.
PAra que no te aparezca el cuadro, a la línea
SolverSolve
Deberías cambiar por
SolverSolve UserFinish:=True

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas