Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
872to876
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
872to876
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schleife für Makro

Schleife für Makro
03.06.2007 14:43:00
Marjam
Hallo,
ich habe gerade mein erste Makro aufgezeichnet und es funktioniert sogar, allerdings möchte ich mittels Makro eine Solver-Maximierung durchführen und die Solverfunktion muss für mehrere Zellen durchgeführt werden und damit ich nicht die Zeilen ständig kopieren und verändern muss, möchte eine Schleife oder Loop für das Makro einbauen. Ich habe allerdings keinerlei Kenntnisse mit VB.
Hier ist mein Code und ich möchte das der Solver die Zellen DI2 bis DI52 löst, wobei die veränderbaren Zellen D2-F2 bis D52-F52 sein sollten. Ich bräuchte dringend ein wenig Hilfe und wäre über ein paar Antworten sehr dankbar.

Sub Makro_Marjam_Versuch1()
' Makro_Marjam_Versuch1 Makro
' Tastenkombination: Strg+q
SolverOk SetCell:="$DI$2", MaxMinVal:=1, ValueOf:="0", ByChange:="$D$2:$F$2"
SolverOptions MaxTime:=100, Iterations:=100, Precision:=0.000001, AssumeLinear _
:=False, StepThru:=False, Estimates:=1, Derivatives:=1, SearchOption:=2, _
IntTolerance:=5, Scaling:=True, Convergence:=0.0001, AssumeNonNeg:=True
SolverOk SetCell:="$DI$2", MaxMinVal:=1, ValueOf:="0", ByChange:="$D$2:$F$2"
SolverSolve UserFinish:=True
Range("DI3").Select
SolverOk SetCell:="$DI$3", MaxMinVal:=1, ValueOf:="0", ByChange:="$D$3:$F$3"
SolverSolve UserFinish:=True
Range("DI4").Select
SolverOk SetCell:="$DI$4", MaxMinVal:=1, ValueOf:="0", ByChange:="$D$4:$F$4"
SolverSolve UserFinish:=True
Range("DI5").Select
SolverOk SetCell:="$DI$5", MaxMinVal:=1, ValueOf:="0", ByChange:="$D$5:$F$5"
SolverSolve UserFinish:=True
Range("DI6").Select
SolverOk SetCell:="$DI$6", MaxMinVal:=1, ValueOf:="0", ByChange:="$D$6:$F$6"
SolverSolve UserFinish:=True
End Sub


Grüße
Marjam

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

Betreff
Datum
Anwender
Anzeige
AW: Schleife für Makro
03.06.2007 20:37:00
Josef
Hallo Marjam,
ungetestet, weil Solver nicht installiert.
Sub Makro_Marjam_Versuch1()
'
' Makro_Marjam_Versuch1 Makro
'
' Tastenkombination: Strg+q
'

Dim lngR As Long

SolverOptions MaxTime:=100, _
    Iterations:=100, _
    Precision:=0.000001, _
    AssumeLinear:=False, _
    StepThru:=False, _
    Estimates:=1, _
    Derivatives:=1, _
    SearchOption:=2, _
    IntTolerance:=5, _
    Scaling:=True, _
    Convergence:=0.0001, _
    AssumeNonNeg:=True

For lngR = 2 To 52
    SolverOk SetCell:="$DI$" & lngR, MaxMinVal:=1, ValueOf:="0", ByChange:="$D$" & lngR & ":$F$" & lngR
    SolverSolve UserFinish:=True
Next

End Sub

Gruß Sepp

Anzeige
AW: Schleife für Makro
03.06.2007 22:35:17
Marjam
Hallo Sepp,
das ist ja super. Ich habs gerade gerade ausprobiert und es scheint alles zu funktionieren, werde es gleich nochmal ausführlich testen, aber erstmal danke, denn ich wäre da ja trotz aller VB Bücher nie drauf gekommen.
Grüße Marjam

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige