Makro wird anders ausgeführt als aufgezeichnet
15.12.2013 22:31:14
Babsi
für meine Seminararbeit über die Portfoliotheorie von Markowitz brauche ich dringend Hilfe! Ich soll als praktischen Teil der Arbeit mit Excel ein optimales Portfolio aus 25 verschiedenen Anlagen (Aktien, Anleihen, Fonds, Rohstoffe) zusammenstellen. Dazu benutze ich den Solver, der mir
- bei gegebenem Risiko die Rendite maximiert oder
- bei gegebener Rendite das Risiko minimiert.
Diese beiden Szenarien möchte ich als Makro speichern und über zwei Schaltflächen dann einbauen.
Da ich mich mich VBA gar nicht auskenne, habe ich die Makros aufgezeichnet. Bei der Aufzeichnung klappt alles wunderbar und der Solver errechnet ein realistisches Ergebnis. Möchte ich allerdings das Makro erneut ausführen (z.B. wenn gegebene Rendite oder Risiko verändert werden), findet der Solver keine Lösung und errechnet für jede Anlage 100% Portfolioanteil (obwohl ich die Bedingung gegeben habe, dass die Summe der Portfolioanteile nicht 100% übersteigen darf).
Ich habe keine Ahnung, was ich da machen soll.
Hier ist der Ausschnitt aus dem VBA Editor:
Sub RenditeMaximieren()
' RenditeMaximieren Makro
' Maximiert die Rendite bei gegebenem Risiko.
SolverReset
SolverOk SetCell:="$D$2", MaxMinVal:=1, ValueOf:="0", ByChange:="$C$6:$AA$6"
SolverAdd CellRef:="$C$6:$AA$6", Relation:=1, FormulaText:="1"
SolverAdd CellRef:="$C$6:$AA$6", Relation:=3, FormulaText:="0,0001"
SolverAdd CellRef:="$AB$6", Relation:=2, FormulaText:="1"
SolverAdd CellRef:="$G$2", Relation:=2, FormulaText:="$M$2"
SolverOk SetCell:="$D$2", MaxMinVal:=1, ValueOf:="0", ByChange:="$C$6:$AA$6"
SolverSolve
End Sub
Über eure Hilfe bin ich sehr dankbar!Babsi