Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1740to1744
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
Inhaltsverzeichnis

solver mit schleife

solver mit schleife
24.02.2020 19:42:24
Chris
Guten Abend,
meine Schleife wird nicht akzeptiert.. wo ist der Fehler?
Der Solver soll ausgeführt werden dann ändert sich ein WErt und dann soll der Solver wieder _ ausgeführt werden bis es eine lösung gibt.

Sub schleife()
Dim i As Integer
Dim j As Integer
Dim s As Integer
Dim Zahl As Double
For s = 1 To 100 Step 1
Range("d1").Value = Range("d1").Value + 1
Range("d2").Value = Range("d2").Value + 1
If Range("d1") = 100 Then Exit Sub
i = Range("d1").Value
j = Range("d2").Value
Zahl = Range("d1").Value
[e1] = Zahl
Cells(20, 2) = Zahl
Cells(20 + j, 2) = Zahl
SolverReset
SolverOk SetCell:="$q$34", MaxMinVal:=3, ValueOf:=Range("$Q$39").Value, ByChange:="d35"
SolverAdd CellRef:="$d$35", Relation:=4, FormulaText:="Ganzzahlig"
SolverAdd CellRef:="$d$35", Relation:=3, FormulaText:=10 'min
SolverAdd CellRef:="$d$35", Relation:=1, FormulaText:=84 'max
solverSolve
If solverSolve(False) Then
Next s
End If
End Sub




		

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: solver mit schleife
24.02.2020 19:48:40
Regina
Hi,
das problem liegt hier:
 If solverSolve(False) Then
Next s
Für eine for..next-schleife muss das Next bedingungslos ausgeführt werden.
Versuch mal so: (ungetestet)

s=1
Do Until solverSolve = True or s > 100
Range("d1").Value = Range("d1").Value + 1
Range("d2").Value = Range("d2").Value + 1
If Range("d1") = 100 Then Exit Sub
i = Range("d1").Value
j = Range("d2").Value
Zahl = Range("d1").Value
[e1] = Zahl
Cells(20, 2) = Zahl
Cells(20 + j, 2) = Zahl
SolverReset
SolverOk SetCell:="$q$34", MaxMinVal:=3, ValueOf:=Range("$Q$39").Value, ByChange:="d35"
SolverAdd CellRef:="$d$35", Relation:=4, FormulaText:="Ganzzahlig"
SolverAdd CellRef:="$d$35", Relation:=3, FormulaText:=10 'min
SolverAdd CellRef:="$d$35", Relation:=1, FormulaText:=84 'max
solverSolve
s= s+1
Loop
gruß Regina
Anzeige
AW: solver mit schleife
25.02.2020 17:02:39
Chris
Danke das hat funkioniert!
Musst es allerdings ändern in

Do Until SolverSolve  100

AW: solver mit schleife
25.02.2020 17:25:25
Chris
Leider klappt es jetzt nicht mehr dass ich nciht bestätigen muss wenn er keine Lösung findet oder er hört nciht auf wenn er eine findet....
oh je ein problem gelöst aber leider ein anderes geschaffen.
AW: solver mit schleife
25.02.2020 17:35:38
Regina
... ich habe mit dem Solver wenig Erfahrung.... habe auch kein Beispiel zur Hand, um das zu Testen. Lade doch sonst mal Deine Datei hoch.
Gruß Regina
AW: solver mit schleife
25.02.2020 17:39:44
Regina
... was ich eben gefunden habe:
https://docs.microsoft.com/de-de/office/vba/excel/concepts/functions/solversolve-function
Solversolve kennt kein True oder False (wie in Deinem ersten Code, sondern eine Reihe von Rückgabewerten. Schau Dir das mal an, darin verbirgt sich vermutlich die Lösung.
ich würde die Schleife mit SolverSolve = 0 abbrechen lassen und damit testen.
Gruß Regina
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige