Solver in VBA ohne Nutzung von Zellbezügen
Zellbezügen
ich möchte den Excel Solver in VBA nutzen. Ich habe den Verweis in VBA auch schon hinzugefügt. Da die Solver-Befehle im VBA-Editor vorgeschlagen werden, gehe ich davon aus, dass der Solver in VBA eingebunden wurde.
Ich möchte an den Solver aber nicht Zellen-Inhalte aus einem bestimmten Arbeitsblatt übergeben, sondern Werte aus selbstdefinierten Arrays. Die Werte in den Arrays sind teilweise über public functions gekoppelt. Die Array-Werte sollen erst eingelesen, dann verarbeitet (und mit dem Solver angepasst) werden und zum Schluss sollen die Endergebnisse in ein Arbeitsblatt geschrieben werden.
Die sub-Routine mit den gewünschten Solver-Aufgaben steht im Modul "SHE_Lösung_ermitteln". Im Modul "Main" sind die Arrays definiert und auch die Hauptroutine die alle Unterroutinen aufruft. Die Unterroutinen sind in den restlichen Modulen zu finden.
Hier der Link zur Arbeitsmappe: https://www.herber.de/bbs/user/69492.xls
Das Aufrufen der Unterroutinen, das Einlesen aus den Arbeitsblättern, das berechnen von Array-Werten mit Funktionen und zum Schluss das Eintragen der Array-Werte in ein Arbeitsblatt funktioniert (getestet).
Nur bei dem Zwischenschritt mit der Bearbeitung durch den Solver passiert anscheinend gar nichts.
Ich weiß nicht genau wo das Problem liegt: Beim Kompilieren erhalte ich keine Fehlermeldung.
Ist eine Nutzung des Solvers in VBA ohne Zellbezüge überhaupt möglich ? In diesem Forum bin ich bei meiner 30-minütigen Suche auf keine ähnlichen Inhalte (Solver Nutzung in VBA ohne Zellbezüge) gestoßen.
Ich habe auch schon gelesen, dass für Excel bessere Solver als den mitgelieferten geben soll (z.B. "What´s best" von Lindo-Systems).
Allerdings wollte ich vor der Einarbeitung in ein neues Add-In erstmal überprüfen, ob mein Problem nicht doch mit Excel-Bordmitteln gelöst werden kann. "Per Hand" habe ich auf der Excel Oberfläche mit den Solver schon nichtlineare Probleme gelöst.
Alternativ habe ich schon ausprobiert, die Endergebnisse auszugeben und dann den Solver in VBA über Zellbezüge anzuwenden. Leider ist auch bei dieser Variante anscheinend nichts passiert.
Wie gesagt, ich weiß nicht wo mein Fehler liegt, bzw. ob meine Idee überhaupt umsetzbar ist. Da ich keine Fehlermeldung bekomme, weiß ich zur Zeit auch nicht, wo ich ansetzen soll. Deshalb dieser Forums-Beitrag
Ich freue mich über jeden Hinweis und wünsche einen angenehmen Start in die Woche.
Viele Grüße, Philipp