Maximierung eines Wertes unter verschiedenen Nebenbedingungen
#1
Hallo zusammen,

Ich habe dieses Forum entdeckt und hoffe, dass Ihr mir vlt weiterhelfen könnt.

Zunächst bitte ich um Entschuldigung, falls ich eine Frage stellen sollte, die hier schon mal so oder ähnlich erörtert wurde. Ich habe in den bestehenden Beiträgen gesucht und nichts passendes gefunden, allerdings weiß ich noch nicht mal, nach welchen Schlagwörtern ich suchen soll...

Folgendes möchte ich gerne machen: es gibt fünf Eingangsvariablen A bis E, die man selbst festlegt. Auf Basis dieser Eingaben soll mir Excel nun einen Zielwert Z ausrechnen, der maximal groß ist und dabei mehrere kumulativ gültige Nebenbedingungen berücksichtigt (zB Anteil von A an Z ist mindestens 51% UND Anteil von B an Z ist höchstens 30% UND Anteil von C an Z ist höchstens 40% UND Anteil von B und C zusammen an Z ist höchstens 49% usw). 

Wie gehe ich hierfür am besten vor? Kann ich sowas mit einem normalen Excelbefehl machen oder bedarf es VBA oder funktioniert sowas ganz anders? Ich bitte die Unwissenheit meinerseits zu entschuldigen und hoffe, dass ich mein Problem nachvollziehbar beschrieben habe.

Vielen Dank für Eure Hilfe!
Top
#2
Hallo,

das hört sich nach der Zielwertsuche an.

Gruß Uwe
Top
#3
So, habe jetzt die Problemstellung mittels Solver gelöst. Funktioniert alles wunderbar!

Allerdings bin ich offenbar zu doof, ein Makro zum Laufen zu bekommen. Ich würde nämlich gerne eine Schaltfläche installieren, damit man durch einen Klick auf ebendiese Schaltfläche die Solverberechnung durchführen kann (ansonsten müsste man ja jedes Mal auf die Zelle klicken und den Solver manuell anschmeißen). Zu diesem Zweck habe ich eine Schaltfläche mit dem Namen "Berechnen" installiert und ein Makro aufgezeichnet (mit dem Namen "Makro1"). Danach habe ich das Makro der Schaltfläche zugewiesen. Wenn ich dann auf die Schaltfläche klicke, erscheint die Fehlermeldung "Sub oder Function nicht definiert". Offenbar ein häufiger Fehler, zu dem es dutzende Diskussionen gibt, aber ich habe daraus keine Lösung für mein Problem erkennen können, weil ich die Antworten oftmals ehrlich gesagt nicht verstehe.

Hier der Quelltext meines Makros (der poppt auf, wenn ich auf die Schaltfläche klicke):
Code:
Sub Makro1()
'
' Makro1 Makro
' Berechnung des DAW
'
' Tastenkombination: Strg+r
'
    Range("C31").Select
    SolverOk SetCell:="$C$31", MaxMinVal:=1, ValueOf:=300000, ByChange:= _
        "$C$32,$C$33,$C$34,$C$35,$C$36", Engine:=2, EngineDesc:="Simplex LP"
    SolverOk SetCell:="$C$31", MaxMinVal:=1, ValueOf:=300000, ByChange:= _
        "$C$32,$C$33,$C$34,$C$35,$C$36", Engine:=2, EngineDesc:="Simplex LP"
    SolverSolve
End Sub
Kann jemand helfen? Was fehlt? Wie gesagt habe ich absolut null Ahnung von VBA und Makros, das hier ist mein erstes Mal   Blush
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste