Schleife für Makro
03.06.2007 14:43:00
Marjam
ich habe gerade mein erste Makro aufgezeichnet und es funktioniert sogar, allerdings möchte ich mittels Makro eine Solver-Maximierung durchführen und die Solverfunktion muss für mehrere Zellen durchgeführt werden und damit ich nicht die Zeilen ständig kopieren und verändern muss, möchte eine Schleife oder Loop für das Makro einbauen. Ich habe allerdings keinerlei Kenntnisse mit VB.
Hier ist mein Code und ich möchte das der Solver die Zellen DI2 bis DI52 löst, wobei die veränderbaren Zellen D2-F2 bis D52-F52 sein sollten. Ich bräuchte dringend ein wenig Hilfe und wäre über ein paar Antworten sehr dankbar.
Sub Makro_Marjam_Versuch1()
' Makro_Marjam_Versuch1 Makro
' Tastenkombination: Strg+q
SolverOk SetCell:="$DI$2", MaxMinVal:=1, ValueOf:="0", ByChange:="$D$2:$F$2"
SolverOptions MaxTime:=100, Iterations:=100, Precision:=0.000001, AssumeLinear _
:=False, StepThru:=False, Estimates:=1, Derivatives:=1, SearchOption:=2, _
IntTolerance:=5, Scaling:=True, Convergence:=0.0001, AssumeNonNeg:=True
SolverOk SetCell:="$DI$2", MaxMinVal:=1, ValueOf:="0", ByChange:="$D$2:$F$2"
SolverSolve UserFinish:=True
Range("DI3").Select
SolverOk SetCell:="$DI$3", MaxMinVal:=1, ValueOf:="0", ByChange:="$D$3:$F$3"
SolverSolve UserFinish:=True
Range("DI4").Select
SolverOk SetCell:="$DI$4", MaxMinVal:=1, ValueOf:="0", ByChange:="$D$4:$F$4"
SolverSolve UserFinish:=True
Range("DI5").Select
SolverOk SetCell:="$DI$5", MaxMinVal:=1, ValueOf:="0", ByChange:="$D$5:$F$5"
SolverSolve UserFinish:=True
Range("DI6").Select
SolverOk SetCell:="$DI$6", MaxMinVal:=1, ValueOf:="0", ByChange:="$D$6:$F$6"
SolverSolve UserFinish:=True
End Sub
Grüße
Marjam