Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Solver dynamisch automatisieren

Solver dynamisch automatisieren
02.07.2020 10:23:16
LosWochitos1
Hallo zusammen, ich habe mich bisher vergeblich an einer Automatisierung des Solvers versucht. _ Mein Ziel ist es den Solver durch einen Klick eine gewisse Anzahl von Zeilen in denen die Nebenbedingungen, Veränderlichen und der Zielwert enthalten ist, lösen zu lassen. Die Anzahl der Zeilen variiert, sodass diese variabel sein muss. Hier mein bisheriger Code:

Sub Solver()
Dim i As Long
Dim maxCount As Long
maxCount = ActiveSheet.Cells(Rows.Count, 5).End(xlUp).Row
For i = 15 To maxCount
SolverReset
SolverOk SetCell:="$BH$" & i, MaxMinVal:=2, ValueOf:=0, ByChange:="$Q$:$W$" & i, _
Engine:=1, EngineDesc:="GRG Nonlinear"
SolverAdd CellRef:="$AL$" & i, Relation:=3, FormulaText:="$H$" & i
SolverAdd CellRef:="$AT$" & i, Relation:=3, FormulaText:="0"
SolverAdd CellRef:="$X$" & i, Relation:=3, FormulaText:="0"
SolverSolve UserFinish:=True
Next i
End Sub

Leider funktioniert das Ganze noch nicht.
Vielen Dank für alle hilfreichen Beiträge und viele Grüße
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Solver dynamisch automatisieren
02.07.2020 10:28:13
Martin
Hallo LosWochitos1
Könnte es sein, dass das nicht funktioniert weil i kein String ist?
Du kannst über Cstr(i) aus i einen String machen.
Sub Solver()
Dim i As Long
Dim maxCount As Long
Dim s as String
maxCount = ActiveSheet.Cells(Rows.Count, 5).End(xlUp).Row
For i = 15 To maxCount
s=Cstr(i)
SolverReset
SolverOk SetCell:="$BH$" & s, MaxMinVal:=2, ValueOf:=0, ByChange:="$Q$:$W$" & s, _
Engine:=1, EngineDesc:="GRG Nonlinear"
SolverAdd CellRef:="$AL$" & s, Relation:=3, FormulaText:="$H$" & s
SolverAdd CellRef:="$AT$" & s, Relation:=3, FormulaText:="0"
SolverAdd CellRef:="$X$" & s, Relation:=3, FormulaText:="0"
SolverSolve UserFinish:=True
Next i
End Sub

Anzeige
AW: Solver dynamisch automatisieren
02.07.2020 15:22:29
LosWochitos1
https://www.herber.de/bbs/user/138712.xlsx
Vielen Dank für deine schnelle Antwort Martin!
nachdem ich ein paar Anpassungen vorgenommen habe, bleibe ich immer beim selben Problem hängen: Wird der Solver durchgeführt, erscheint die Fehlermeldung, dass Bedingungen falsch seien.
Ich habe ein mal eine Beispieldatei angehangen.
Der dazugehörige Code:
Sub Solver()
' Solver Makro
Dim i As Long
Dim Zeilenzahl As Integer
Range("$A$3").Select
Zeilenzahl = Selection.CurrentRegion.Rows.Count
Dim s As String
For i = 2 To Zeilenzahl
s = CStr(Zeilenzahl)
SolverReset
SolverOk SetCell:="$S$" & s, MaxMinVal:=2, ValueOf:=0, ByChange:="$F$:$H$" & s, _
Engine:=1, EngineDesc:="GRG Nonlinear"
SolverAdd CellRef:="$I$" & s, Relation:=3, FormulaText:="0"
SolverAdd CellRef:="$J$" & s, Relation:=3, FormulaText:="0"
SolverAdd CellRef:="$K$" & s, Relation:=3, FormulaText:="0"
SolverAdd CellRef:="$O$" & s, Relation:=3, FormulaText:="$B$" & s
SolverAdd CellRef:="$P$" & s, Relation:=3, FormulaText:="0"
SolverAdd CellRef:="$Q$" & s, Relation:=3, FormulaText:="0"
SolverAdd CellRef:="$R$" & s, Relation:=3, FormulaText:="0"
SolverSolve
Next i
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige