Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
616to620
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
616to620
616to620
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Solver berechnet nicht wenn er aus einem fremden..

Solver berechnet nicht wenn er aus einem fremden..
02.06.2005 11:43:49
Horst
...aus tabellenblatt uas aufgrufen wird
Hey !
Der beitrag ist wieder aktuell geworden: (Archiv tread)
https://www.herber.de/index.html?https://www.herber.de/forum/archiv/616to620/t616856.htm
Es tut doch nicht was es soll :-((
Mit:
--------------------------------------
SolverOk SetCell:=Sheets("Zielwert").Range("$G$5"), MaxMinVal:=1, ValueOf:="0", ByChange:=Sheets("Zielwert").Range("$G$5")
SolverDelete CellRef:=Sheets("Zielwert").Range("$B$5"), Relation:=2, FormulaText:=Sheets("Zielwert").Range("$J$4")
SolverAdd CellRef:=Sheets("Zielwert").Range("$B$5"), Relation:=2, FormulaText:=Sheets("Zielwert").Range("$J$4")
SolverOk SetCell:=Sheets("Zielwert").Range("$G$5"), MaxMinVal:=1, ValueOf:="0", ByChange:=Sheets("Zielwert").Range("$G$5")
SolverSolve userfinish:=True
------------------------------------
Wird das Makro zwar aufgerufen aber er rechnet nichts neues aus.
auch mit:
SolverOk SetCell:=Tabelle12.Range("$G$5"), MaxMinVal:=1, ValueOf:="0", ByChange:=Tabelle12.Range("$G$5")
SolverDelete CellRef:=Tabelle12.Range("$B$5"), Relation:=2, FormulaText:=Tabelle12.Range("$J$4")
SolverAdd CellRef:=Tabelle12.Range("$B$5"), Relation:=2,FormulaText:=Tabelle12.Range("$J$4")
SolverOk SetCell:=Tabelle12.Range("$G$5"), MaxMinVal:=1, ValueOf:="0", ByChange:=Tabelle12.Range("$G$5")
SolverSolve userfinish:=True
----------------------------------------------
Bekomme ich kein neues rechen ergebnis :-(
Ich habe dann vor im Makro die tabelle selber aktiviert.
Tabelle12.Activate
Und zum schluss wieder die Tabelle von wo ich das makro aus starte.
Tabelle3.Activate
Dann rechnet er auch nicht, aber es wird mir dann auch kurzfristig die Tabelle12 angezeigt, die verschwindet zwar wieder und ich komme mit:
Tabelle3.Activate
in die ausgangstabelle zurück.
Aber das anzeigen der Tabelle12 (berechnungstabelle) will ich ja vermeiden, die soll naemlich uebrhaupt nicht in erscheinung treten. Da ich sie verstecken (ausblenden) will.
Wenn ich Tabelle12 naemlich ausblende (verstecke) rechnet der solver auch mit
Tabelle12.Activate
im makro auch nichts neues aus.
--------------------------------------------------
--------------------------------------------------
Eigene Teillösung:
Der solver berechnet nur wenn ich das makro in der tabelle aufrufe in der die berechnung durch den solver auch durchgeführt werden soll. (Tabelle12)
Das ganze sieht dann so aus:
In Tabelle3

Sub BerechnungStarten()
Tabelle12.SolverStarten
End

Sub
In Tabelle12

Sub SolverStarten()
Tabelle12.Activate
SolverOk SetCell:="$G$5", MaxMinVal:=1, ValueOf:="0", ByChange:="$G$5"
SolverDelete CellRef:="$B$5", Relation:=2, FormulaText:="$J$4"
SolverAdd CellRef:="$B$5", Relation:=2, FormulaText:="$J$4"
SolverOk SetCell:="$G$5", MaxMinVal:=1, ValueOf:="0", ByChange:="$G$5"
SolverSolve userfinish:=True
Tabelle3.Activate
End Sub

--------------------------------------------
Wie gesagt das problem mit den aufpoppen der excelsheets bleibt :-((
--------------------------------
Irgendwelche neuen ideen, was ich vielleicht verkehrt gemacht habe oder neue ideen?
Gruss
horst

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Solver berechnet nicht wenn er aus einem fremd
02.06.2005 14:20:16
Florian
Hi Horst,
check nochmal die Verweise, und zwar in der Tabelle, von der aus Du die Solver-Makro aufrufst (so wie vor ein paar Tagen).
Vielleicht kurze Erläuterung: Ich hab selber auch ne solche Solver-VBA-Datei. In dieser Datei ist die Referenz zum Solver gegeben (Solver ist aktiviert). In einer anderen Datei ist die Referenz aber zum Solver aber nicht da. (also nicht so wie beim Add-In). Warum dass so ist, weiß ich nicht, könnt aber der Fehler sein.
Viele Grüße, Florian
AW: Solver berechnet nicht wenn er aus einem fremd
02.06.2005 14:56:57
Horst
Hey florian !
Das musst du nochmal fuer dreijaehrige erklaeren.
Wieso soll der solver nicht aktivietrt sein?
Das add-in habe ich im vba - editor eingefuegt, das ist o.k.
In der Tabelle in der ich das makro aufrufe das den solver startet ist dieser auch unter
Extras
Solver
gehighlightet
ebenso in der tabelle in der der solver die berechnungen ausfuehren soll.
Er macht die berechnungen ja.
Aber nur wenn ich im markro explizit sage aktiviere die tabelle in der du die berechnungen auszufuehren hast.
Also: TabelleSowieso.Aktiviate
Aber dann springt excel auch in das sheet und das will ich nicht.
Also ist es das was du meintest oder reden wir aneinander vorbei?
Gruss
horst
Anzeige
AW: Solver berechnet nicht wenn er aus einem fremd
02.06.2005 18:00:05
Florian
Hi Horst,
weiß jetzt auch nicht...kann durchaus sein, dass ich Dich falsch verstanden habe. Ich dachte, die Berechnung funktioniert nicht, wenn Du die Solver-Makro in Date X aus Datei Y aufrufst.
Ich hab nur bei mir gesehen, wenn ich den Verweis (im VBA-Editor) in der Datei X hab, ist der nicht zwangsläufig in der Datei Y gegeben. D.h., ich kann in der einen Datei (in der ich die Referenz gesetzt hab) den Solver über VBA steuern, in der anderen aber nicht. Im normalen Excel-Add-In ist ja der Add-In in jeder beliebigen Datei aktiv, sobald ich in irgendwo aktiv setze.
Also ich weiß natürlich nicht ob das im entferntesten an die Problemlösung hinkommt, aber ich hätte jetzt geschaut, ob bei bei beiden Daten die Referenz gegeben ist, d.h. Solver im VBA -Extras-Verweise aktiviert ist. ABer ich glaub des hast Du schon, oder?
Gruß, Florian
Anzeige
AW: Solver berechnet nicht wenn er aus einem fremd
03.06.2005 10:09:03
horst
Hey florian !
Also ich bewege mich nicht zwischen zwei dateien, sondern auf ein und der selben excel mappe !
Und da ist der solver aktiviert.
Wie gesagt er rechnet ja auch wenn ich ihn von Tabellenbatt1 ueber ein makro in tabellenblatt2 aus aufrufe.
Aber nur wenn ich vorher das tabellenblatt aktiviere.
Wenn ich es nicht tue, dann wird ebenfalls das makro gestartet, der solver bekommt auch seine neuen werte, aber er rechnet mir kein neues ergebnis aus.
Wenn ich jetzt das blatt verberge, dann tut es zu der meldung: das die tabelle vorher aktiviert sein muss.
Tue ich das im makro, verberge die tabellenblatt2 aber trotzdem, bekomme ich trotzdem die fehlermeldung das ich das tabelenblatt erst aktiviert haben muss.
Nun ist guter rat teuer, gelle
Gruss
Horst
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige