Thema Datum  Von Nutzer Rating
Antwort
Rot Solver + Variable
15.07.2016 17:27:56 Twonky
NotSolved

Ansicht des Beitrags:
Von:
Twonky
Datum:
15.07.2016 17:27:56
Views:
1093
Rating: Antwort:
  Ja
Thema:
Solver + Variable

Hallo,

hab mal eine Frage zu dem Solver. Und zwar möchte ich einen Wert über den Solver errechnen, ohne dass dieser auf das Worksheet zugreifen soll. Alle Variablen sind im Code von VBA hinterlegt und Excel müsste somit theoretisch eine Lösung finden, tut es aber nicht.

Also ich habe als Formeln in folgender Art, die im VBA-Code errechnet werden:

a= k * ...
b= 1/k...
c = k²...

somit sind alle abhängig vom Wert k. Nun möchte ich einen Wert für k finden bei dem die untere Variable 'Summe' 0 wird:

Summe = a+b-c

Wenn ich nun aber

SolverOk setcell:=Summe, MaxMinVal:=3, ValueOf:=0, ByChange:=k, Engine:=1, EngineDesc:="GRG Nonlinear"
solversolve (True)

eintrage, verändert Excel nicht mal den Wert k, er bleibt also immer auf dem Wert, in dem er vorher war. Egal ob ich nun doch eine Verlinkung zum Worksheet mache oder aber den Wert für k im VBA-Code vorprogrammiere. Alle haben dieselbe Klasse 'Double'.

Was muss ich verändern? Und wofür steht das Feld MaxMinVal? Achja, und mir ist noch aufgefallen, dass komischerweise die Berechnungsoption zu manuell umgestellt wird, obwohl ich dieses nicht in den VBA-Code eingebaut habe ...

Den ermittelten Wert möchte ich dann über die Funktion 'Msgbox k' ausgeben.

Danke im Voraus.

P.S.: Es funktioniert, wenn ich die Formeln im Worksheet hinterlege und dann eben die Zellreferenz auf Summe und k setze ...


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Solver + Variable
15.07.2016 17:27:56 Twonky
NotSolved