Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
568to572
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
568to572
568to572
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Solver über VBA starten? Hilferuf an Nepumuk

Solver über VBA starten? Hilferuf an Nepumuk
17.02.2005 12:35:51
Mathe
Hallo liebes Forum und v.a.lieber Nepumuk,
kann mir bitte einer sagen wie ich den Solver über VBA aktivieren kann?
Ich habe 49 x 41 Tabelle für die ich in jeder ZElle den Solver nicht immer von Hand starten möchte.
Wie geht das?
DANKE FÜR DIE HILFE!

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Solver über VBA starten? Geht nicht?
17.02.2005 14:11:42
Mathe
Also erstmal danke für den Tipp aber das habe ich schon probiert.
Mein genaues Problem.
Also das Add-In Solver ist installiert.
Ich möchte es über VBA starten das geht nach obigen Link.
Nun möchte ich ja die Variabeln immer einlesen lassen also schreibe ich folgende ZEilen in VBA:
-------

Function löse(Zielzelle, Wert, Variabel)
löse = SolverOk(SetCell:=Zielzelle, MaxMinVal:=3, Valueof:=Wert, ByChange:=Variabel)
End Function

---------
Wenn ich nun weiter klicke kommt der Aufruf das erstellte Makro zu bennenen. Ich nenne es "test". Danach erscheint automatisch im VBA folgender Ausdruck:
---------

Sub test()
End Sub

--------
Nun gehe ich in Excel auf eine Zelle und schreibe dort:
=solve(A1;0;B2)
Dann drücke ich enter.
Nun erscheint die Fehlermeldung:
Fehler beim Kompilieren.

Sub oder 

Function nicht definiert.
Wenn ich OK klicke ist folgende Zeile gelb markiert:

Function löse(Zielzelle, Wert, Variabel)
WAS TUN?
DANKE FÜR DIE HILFE!!

Anzeige
AW: Solver über VBA starten? Geht nicht?
Tim
Die Funktion heißt löse und nicht solve
Tim
Der name der Funktion ist egal!! Wie gehts?
17.02.2005 14:22:31
Mathe
Hi Tim,
wie ich die Funktion nenne ist völlig egal es kommt immer dasselbe Problem!! ich kann die Funktion auch tim oder Solve oder egal was nennen der Fehler ist immer derselbe.
Das Problem siehe: https://www.herber.de/bbs/user/18190.xls
AW: Der name der Funktion ist egal!! Wie gehts?
bst
Hi,
wie weit hast Du denn im Tutorial gelesen ?
Der Verweis im VBA auf solver.xla fehlt.
HTH, Bernd
Solver.xla ist ja je nach Version und Pc woanders
17.02.2005 14:49:31
Mathe
Hi Bernd,
danke für den Tipp aber die Solver Datei ist ja auf jedem Rechner woanders. War mein Fehler. Sorry.
Also wenn ich nun den Verweis Zulasse und den oben genannten VBA Code eingebe erscheint die Fehlermeldung "Solver: ein unerwarteter interner Fehler ist aufgetreten"
Was nun?
Dake für die Hilfe!!
Gruß Renny
Anzeige
Keine fehlermeldung sondern Wert = 1?
17.02.2005 15:04:06
Mathe
Also nun habe ich keine Fehlermeldung mehr sondern habe in der ZElle auf einmal den Wert 1?
Was ist falsch?

Function löse(Zielzelle, Wert, Variabel)
löse = SolverOk(SetCell:="Zielzelle", MaxMinVal:=3, Valueof:="Wert", ByChange:="Variabel")
End Function

AW: Keine fehlermeldung sondern Wert = 1?
bst
Hallo Renny,
ich bin noch nie auf die Idee gekommen den Solver via einer Funktion aufzurufen.
Aber, ein SolverOK ist IMHO etwas wenig.
Vielleicht solltest Du ja erst mal ein paar Nebenbedingungen einbauen.
Versuch mal sowas, konventionell via Makro.
cu, Bernd
--

Sub Makro2()
Sheets.Add
Range("E4").Formula = "=SUM(A1:G1)"
SolverOk SetCell:="$E$4", MaxMinVal:=2, ValueOf:="0", ByChange:="$A$1:$G$1"
SolverAdd CellRef:="$A$1:$G$1", Relation:=3, FormulaText:="1"
SolverAdd CellRef:="$A$1", Relation:=1, FormulaText:="9"
SolverAdd CellRef:="$B$1:$C$1", Relation:=1, FormulaText:="5"
SolverAdd CellRef:="$D$1:$G$1", Relation:=1, FormulaText:="10"
SolverSolve True
End Sub

Anzeige
AW: Keine fehlermeldung sondern Wert = 1?
17.02.2005 15:51:44
Mathe
Hi Bernd,
hmm tausend Dank erst mal. war ein guter Tipp dabei den ich übersehen hatte! DAAANKE!
So ich habe nun meine Subroutine für 1 Zelle am laufen!
Aber wie bekomme ich das nun automatiesiert für meine 41x49 Matrix hin?
Also z.B. nur mit den Variablen Namen Zielzelle und Variable.
Tausend Dank soweit.
Grüße aus dem eingeschneiten Suttgart
AW: Solver über VBA starten? Geht nicht?
bst
Auch Hallo,
Fange vielleicht mit was Einfacherem an.
Zeichne Dir mit dem Makrorekorder einen funktionierenden Solverablauf auf.
Schau Dir den resultierenden Code an
cu, Bernd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige