Hallo Leute,
ich habe eine Problem mit meinem Makro, welcher ein Optimierungsproblem mit Hilfe des Solvers lösen soll.
Ich kenne mich mit VBA kaum bis gar nicht aus und habe den folgenden Code mit Hilfe der Aufzeichnung und ein paar Veränderungen geschrieben.
Das Problem ist, dass die zweite Nebenbedingung nicht bei der Lösung des Problems berücksichtigt wird. Wenn ich nach der Ausführung des Makros in den Solver gucke, steht dort nur die erste NB (W7 = 1).
Die zweite Nebenbedingung soll aber sein, dass die Zelle O60 = 0,001 ist, im zweiten Durchlauf dann O61 = 0,002 usw.
Leider funktioniert der Code so aber nicht.
Ich würde mich freuen, wenn jemand von euch einen Tipp hat, wie man es hinbekommt ;)
Viele Grüße
Moritz
PS: Hier der Code:
Sub SOLVER()
'
' Solver Makro
'
Dim x As Integer
x = 60
Dim y As Double
y = 0.001
For k = 0 To 2 Step 1
SolverReset
SolverOk SetCell:="P" & x, MaxMinVal:=2, ValueOf:="0", ByChange:="$C$7:$V$7"
SolverAdd CellRef:="W7", Relation:=2, FormulaText:="1"
SolverOk SetCell:="P" & x, MaxMinVal:=2, ValueOf:="0", ByChange:="$C$7:$V$7"
SolverAdd CellRef:="O" & x, Relation:=2, FormulaText:="y"
SolverOk SetCell:="P" & x, MaxMinVal:=2, ValueOf:="0", ByChange:="$C$7:$V$7"
SolverSolve
x = x + 1
y = y + 0.001
Next k
End Sub
|