VBA Solver nimmt Nebenbedingung nicht an
29.10.2019 23:29:37
Christian
Ich möchte über ein Makro den Solver verwenden, sodass er mir einen Wert in der Zelle maximiert.
Der solver soll dabei 2 Zellen verändern und eine Nebenbedingung einhalten.
Jedoch verwendet der solver die Nebenbedingung nicht.
Option Base 1
Sub SolvGewichtungen()
'Maximiert die Gewichtungsanteile des Portfolios.
'Rendite Portfolio minus Rendite Benchmark -> max! .
'Variablen benennen.
Dim Gew As Worksheet
Set Gew = ThisWorkbook.Worksheets("Gewichtungen")
SolverReset
SolverAdd CellRef:=Gew.Cells(9, 6), Relation:=2, FormulaText:="1"
SolverOk SetCell:=Gew.Cells(9, 4), MaxMinVal:=1, ValueOf:=0, ByChange:=Gew.Range(Gew.Cells( _
9, 7), Gew.Cells(9, 8))
SolverSolve (True)
End Sub
Wenn ich bei der Nebenbedingung den Wert auf eine Zahl zwischen 0.5 und 0.99 setze, oder größer als 1 dann wird die Nebenbedingung ausgeführt.
Die Nebenbedingung ist die Summe aus zwei Zahlen, welche immer 1,0 sein muss.
Im Angehängen Bild ist die Excel Oberfläche mit den Daten zu sehen.

Anzeige