Clever-Excel-Forum

Normale Version: Solver auf mehrere Zellen übertragen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen, 

ich muss in meiner Datei die Spalte F optimieren - die Werte von F müssen gleich dem Werten von der Spalte A sein. 
Dafür hab ich Solver benutzt und es hat auch für F4 gut funktioniert. 
Meine Frage - wie kann ich Solver auf mehrere Zellen übertragen? Hier im Beispiel sind es nur 5, meine Datei hat aber über 900 Zellen die angepasst werden müssen...

Vielen Dank!
Hi,

schreibe in F4:
Code:
 =SUMME($C4:$E4)<>A4
Hi Mase, 

dann kommt aber nur "FALSCH" raus. Es muss eine Zahl rauskommen, die Zahlen in Spalten von C bis E müssen dafür automatisch angepasst werden --> mit Solver geht das, aber halt nur für eine Zelle, ich will die Formatierung von Solver auf die Zellen F5 bis F8 auch übertragen...
Hi,

hier mal eine VBA Lösung für deine Testdatei.
(Berücksichtigt nur F4:F8)
Code:
Sub getSolved()
    Dim rngZ As Range
        For Each rngZ In Range("F4:F8")
            With rngZ
                Solver.SolverReset
                    SolverOk SetCell:=.Address, _
                                    MaxMinVal:=1, _
                                    ValueOf:=0, _
                                    ByChange:="$C$" & .Row & ":$E$" & .Row, _
                                    Engine:=1, _
                                    EngineDesc:="GRG Nonlinear"
                   
                    SolverAdd CellRef:="$A$" & .Row, _
                                    Relation:=2, _
                                    FormulaText:="$F$" & .Row
                                   
                    SolverAdd CellRef:="$C$" & .Row & ":$E$" & .Row, _
                                    Relation:=4, _
                                    FormulaText:="Ganzzahlig"
                   
                    SolverOk SetCell:="$F$" & .Row, _
                                    MaxMinVal:=1, ValueOf:=0, _
                                    ByChange:="$C$" & .Row & ":$E$" & .Row, _
                                    Engine:=1, _
                                    EngineDesc:="GRG Nonlinear"
                                   
                    SolverOk SetCell:="$F$" & .Row, _
                                    MaxMinVal:=1, _
                                    ValueOf:=0, _
                                    ByChange:="$C$" & .Row & ":$E$" & .Row, _
                                    Engine:=1, _
                                    EngineDesc:="GRG Nonlinear"
                    SolverSolve
                End With
        Next
End Sub