Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1756to1760
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

Makro wird nicht vollständig ausgeführt

Makro wird nicht vollständig ausgeführt
11.05.2020 13:13:08
Marc
Hallo zusammen,
ich bin gerade dabei eine Schleife zum optimieren mittels Solver zu erstellen. Führe ich das Makro aus kommt weder ein Ergebnis, noch eine Fehlermeldung. Lasse ich den Code mit F8 durchlaufen, dann wird der eingerückte Teil (Ab "Do" bis "Loop While...") übersprungen. Hat jemand von euch vielleicht eine Idee, woran das liegen könnte?
Vielen Dank schon einmal vorab!
Sub DoLoop()
Dim I As Integer
Dim O As Integer
I = I + 1
O = Cells(6, 13)
If Cells(O + I, 9)  "" Then
Do
SolverReset
SolverOK SetCell:="$AW$" & I, MaxMinVal:=2, ValueOf:=0, ByChange:= _
"$AP$&I,$AR$&I,AT$&I", Engine:=1, EngineDesc:="GRG Nonlinear"
SolverAdd CellRef:="$AP$" & I, Relation:=2, FormulaText:="$AR$" & I
SolverAdd CellRef:="$AP$" & I, Relation:=2, FormulaText:="$AT$" & I
SolverAdd CellRef:="$AR$" & I, Relation:=2, FormulaText:="$AT$" & I
SolverAdd CellRef:="$AV$" & I, Relation:=2, FormulaText:="1"
SolverSolve
I = I + 1
Loop While Cells(O + I, 1)  ""
End If
End Sub

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro wird nicht vollständig ausgeführt
11.05.2020 13:29:18
Joachim
Hallo,
nur mit Cells(z,s) sprichts Du keine Zelle an.
Musst z.B. ein .Value dranhängen.
Gilt fürs Lesen wie fürs Schreiben.
Ansonsten hab ich den Code nicht geprüft
Gruß
Die default Eigenschaft von Cells IST VALUE! (owT)
11.05.2020 13:44:10
Cells

AW: Die default Eigenschaft von Cells IST VALUE! (owT)
11.05.2020 13:51:14
Cells
OK EtoPHG, Danke, Wusste ich nicht
Gruß
AW: Makro wird nicht vollständig ausgeführt
11.05.2020 13:46:09
onur
Vielleicht an der Datei, die du ja nicht gepostet hast.
AW: Makro wird nicht vollständig ausgeführt
12.05.2020 10:17:08
Marc
Hier der Link zur verkleinerten Beispielmappe:
https:\/\/www.herber.de/bbs/user/137431.xlsx
Kurze Erklärung: Steht ein Wert in Spalte I, dann soll in dieser Reihe der Wert in der Spalte AW mittels Solver minimiert werden. Die Schleife soll so lange laufen, bis in Spalte A kein Datum mehr steht.
Solver ist folgend ausgefüllt:
Wert in Spalte AP = AR
Wert in Spalte AP = AT
Wert in Spalte AR = AT
Summe aus AP, AR und AT = 1
Minimieren durch Ändern Folgender Zellen: AP, AT und AR
Vielen Dank für die Hilfe! :)
Anzeige
AW: Makro wird nicht vollständig ausgeführt
12.05.2020 17:44:05
onur
Ich habe nicht viel Ahnung von Solver, aber:
Wie soll AP gleichzeitig gleich AR und gleich AT werden können?
Wie soll Solver was Ändern können, wenn Relation=2 (also "=") ?
Du musst jeder veränderlichen Zelle ein Minimum eind ein Maximum geben, zwischen denen Solver "jonglieren" kann.
AW: Makro wird nicht vollständig ausgeführt
12.05.2020 18:36:54
Marc
Hallo Onur,
danke für deine Antwort! Das was ich da geschrieben habe ist falsch!
Minimiert werden sollen die Werte in AW
Durch ändern der Werte in: AP, AR und AT
Nebenbedingungen: AQ = AS, AQ = AU, AS = AU und AV = 1
Leider besteht allerdings noch mein Problem, dass wenn ich mit F8 meinen Code durchgehe, der eingerückte Teil übersprungen wird (Also von "Do" bis "Loop While...". Was könnte ich hierfür noch an meinem Code ändern, dass dieser Teil beim ausführen nicht übersprungen wird?
Sub DoLoop()
Dim I As Integer
Dim O As Integer
I = I + 1
O = Cells(6, 13)
If Cells(O + I, 9)  "" Then
Do
SolverReset
SolverOK SetCell:="$AW$" & I, MaxMinVal:=2, ValueOf:=0, ByChange:= _
"$AP$&I,$AR$&I,AT$&I", Engine:=1, EngineDesc:="GRG Nonlinear"
SolverAdd CellRef:="$AQ$" & I, Relation:=2, FormulaText:="$AS$" & I
SolverAdd CellRef:="$AQ$" & I, Relation:=2, FormulaText:="$AU$" & I
SolverAdd CellRef:="$AS$" & I, Relation:=2, FormulaText:="$AU$" & I
SolverAdd CellRef:="$AV$" & I, Relation:=2, FormulaText:="1"
SolverSolve
I = I + 1
Loop While Cells(O + I, 1)  ""
End If
End Sub
Vielen Dank für die Hilfe! :)
Anzeige
AW: Makro wird nicht vollständig ausgeführt
12.05.2020 18:40:55
onur
If Cells(O + I, 9) "" Then
trifft doch in deiner geposteten Datei nur 2x zu.
Aber die IF-Anweisung steht zudem AUSSERHALB der DO LOOP-Schleife, also wird die DO LOOP-Schleife NIE ausgeführt.
AW: Makro wird nicht vollständig ausgeführt
12.05.2020 19:09:18
Marc
Die gepostete Datei sollte nur einmal ein Auszug zum veranschaulichen sein. Diesen Code würde ich gerne auch für andere Datein einsetzen, die in der Regel 5000+ Reihen haben.
Wenn ich nur das Do hochsetzte kommt die Fehlermeldung, dass es ein "Loop ohne Do" ist. Hast du mir hier einen Vorschlag wie ich es dann coden könnte? Vielen Dank schon einmal! :)
AW: Makro wird nicht vollständig ausgeführt
12.05.2020 19:11:02
onur
Das IF und das END IF müssen in die LOOP-Schleife.
Anzeige
AW: Makro wird nicht vollständig ausgeführt
12.05.2020 19:34:09
Marc
Super vielen Dank!!! jetzt wird alles erkannt, wenn ich mit F8 durchgehe :)
Eine Frage hätte ich noch zum Schluss: Reicht es aus, wenn ich das IF und das End IF in die Schleife setze oder muss ich zusätzlich noch etwas anfügen, damit die Schleife nicht endlos läuft?
AW: Makro wird nicht vollständig ausgeführt
12.05.2020 19:47:32
onur
Die läuft nur bis Zeile 6000.
Das kann dir bei einer For Next-Schleife eigentlich nie passieren, dass sie unendlich läuft, da das Ende ja vorprogramiert ist (1 to 6000).
AW: Makro wird nicht vollständig ausgeführt
12.05.2020 20:03:43
Marc
Wirklich vielen Dank für deine Hilfe!:) Mal rein aus Neugierde:
Müsste ich bei der Do Loop Schleife noch ein Ende setzen oder ist der Loop While Befehl ausreichen?
Anzeige
AW: Makro wird nicht vollständig ausgeführt
12.05.2020 20:27:15
onur
Loop While-Schleifen (überhaupt alle Loops) sind für Anfänger gefährlich, da sich Excel wg. Endlosschleife aufhängen kann, wenn sich evtl die Bedingung NIE erfüllt.
Loop-While wird so lange fortgesetzt, bis die Bedingung NICHT zutrifft.
AW: Makro wird nicht vollständig ausgeführt
12.05.2020 20:31:51
Marc
Alles Klar, super vielen Dank :) Dann wünsche ich dir noch einen schönen Abend!
AW: Makro wird nicht vollständig ausgeführt
12.05.2020 19:19:20
onur

Dim z
Dim O
O = Cells(6, 13)
For z = 1 To 6000
If Cells(O + z, 1)  "" Then
SolverReset
SolverOK SetCell:="$AW$" & z, MaxMinVal:=2, ValueOf:=0, ByChange:= _
"$AP$&z,$AR$&z,AT$&z", Engine:=1, EngineDesc:="GRG Nonlinear"
SolverAdd CellRef:="$AP$" & z, Relation:=2, FormulaText:="$AR$" & z
SolverAdd CellRef:="$AP$" & z, Relation:=2, FormulaText:="$AT$" & z
SolverAdd CellRef:="$AR$" & z, Relation:=2, FormulaText:="$AT$" & z
SolverAdd CellRef:="$AV$" & z, Relation:=2, FormulaText:="1"
SolverSolve
End If
Next z

Anzeige

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige