Clever-Excel-Forum

Normale Version: Bestehenden Solver über Makro starten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

nachdem ich nun meinen Solver perfektioniert habe, würde ich diesen gerne über einen Button starten.
Dazu würde ich gerne diesen bestehenden Solver, mit seinen ganzen "Constraints", über ein Makro starte.
Im Netz finde ich nun leider nur Hilfe, um einen Solver im VBA zu programmieren.
https://msdn.microsoft.com/de-de/library...96600.aspx
Ich möchte jedoch den Solver nicht komplett neu im VBA schreiben, sondern lediglich meinen bestehenden aufrufen.
Wenn ich es über ein Makro aufzeichne, startet mein Solver zwar, jedoch solved er nicht wirklich.
Er sagt zwar das gesolved wurde und frägt auch ob ich die neuen Variablen behalten möchte, jedoch hat sich gar nichts verändert.
Es sieht so aus als ob er meine Constraints nicht berücksichtigt.
So sieht der, durch Makro aufzeichnen, erstellte VBA code aus.
Code:
Sub Solver()
'
' Solver Makro
'

'
   SolverOk SetCell:="$I$8", MaxMinVal:=2, ValueOf:=0, ByChange:= _
       "$D$2,$D$3,$D$5,$D$6", Engine:=1, EngineDesc:="GRG Nonlinear"
   SolverOk SetCell:="$I$8", MaxMinVal:=2, ValueOf:=0, ByChange:= _
       "$D$2,$D$3,$D$5,$D$6", Engine:=1, EngineDesc:="GRG Nonlinear"
   SolverSolve
End Sub
Vielen Dank für eure Hilfe
Pushhhh
please Leute, ein paar Tipps?
... noch ein push ...
Habs hinbekommen :=)

Danke trotzdem Leute :)
Hi,

(06.08.2016, 08:57)Lokdog schrieb: [ -> ]Habs hinbekommen :=)

da ja viele Exceluser Hilfe suchen und auch auf unserer Seite landen, wäre es doch schön, wenn sie bei ähnlichen Problemen eine Lösung vorfinden. Stellst du uns diese bitte vor? Danke schon mal im Namen der Suchenden.
Selbstverstänldich.

Ich hab das Problem folgendermaßen gelöst:

-> Makro Aufzeichnung gelöscht.
-> In VBA den Solver hinzugefügt (Extras/Verweise/... Haken bei Solver setzen)
-> In Excel das Makro neu aufgezeichnet
-> In VBA über "Call Makroname"  ' Makro ausführen lassen
-> Direkt dahinter "SolverSolve UserFinish:=True" 'Automatische Bestätigung der neuen Werte
-> Den VBA Code dann über einen Button in der Tabelle abgerufen


Bei Fragen, Fragen!

Vielen Grüße,
Philipp