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

Makro Schleife

Makro Schleife
08.09.2004 13:49:55
Matthias
Hallo, ich habe mal ne Frage. Ich versuche ein Makro zu schreiben, daß einen Wert verändert, den Solver betätigt, und das Ergebnis an eine bestimmte Stelle im Sheet einträgt. Der Wert wird nun wieder geändert, der Solver ausgeführt, das Ergebnis soll aber nun nicht in d34 eingetragen werden sondern in d36, dann in d38 usw. Ich hoffe jemand von Euch hat dafür eine Lösung.
So schaut es bis jetzt aus, und es funktioniert auch soweit. Nur für die Sache mit dem Ergebnis eintragen habe ich keine Lösung.


Sub Makro6()
' Makro6 Makro
' Makro am 08.09.2004 von _ aufgezeichnet
Dim x As Single
x = -0.3
Do While x < 0.8
Range("B2").Select
ActiveCell.FormulaR1C1 = x
Range("B3").Select
SolverOk SetCell:="$B$29", MaxMinVal:=1, ValueOf:="0", ByChange:="$B$16:$B$25"
SolverSolve userfinish:=True
SolverOk SetCell:="$B$29", MaxMinVal:=1, ValueOf:="0", ByChange:="$B$16:$B$25"
SolverSolve userfinish:=True
SolverOk SetCell:="$B$29", MaxMinVal:=1, ValueOf:="0", ByChange:="$B$16:$B$25"
SolverSolve userfinish:=True
SolverOk SetCell:="$B$29", MaxMinVal:=1, ValueOf:="0", ByChange:="$B$16:$B$25"
SolverSolve userfinish:=True
ActiveWindow.SmallScroll Down:=12
Range("C29:C30").Select
Selection.Copy
Range("d34").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-24
x = x + 0.02
Loop
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Schleife
Dr.
Du lässt ja schon ein Laufvariable (x) mitrennen. Benutze doch dafür auch eine, die entsprechend um 2 hochgezählt wird.
AW: Makro Schleife
Matthias
Habe ich schon probiert, aber ich weiß nicht wie ich erreichen kann, daß das Ergebnis bei jedem Durchlauf eine andere Zelle geschrieben wird.
AW: Makro Schleife
Dr.
Sei L die Laufvariable und zunächst auf Wert 34 gesetzt, dann schreibst Du
statt Range("d34").Select
Selection.Copy Destination:=ActiveSheet.Cells(L, 4)
und zählst danach L um zwei hoch.
AW: Makro Schleife
Matthias
Jetzt sieht das ganze so aus. Jetzt funktioniert der Ergebniseintrag, aber der Befehl für das "Nur Werte einfügen" geht nicht mehr.

Sub Makro6()
' Makro6 Makro
' Makro am 08.09.2004 von _ aufgezeichnet
Dim x As Single
x = -0.3
Dim L As Integer
L = 34
Do While x < 0.8
Range("B2").Select
ActiveCell.FormulaR1C1 = x
Range("B3").Select
SolverOk SetCell:="$B$29", MaxMinVal:=1, ValueOf:="0", ByChange:="$B$16:$B$25"
SolverSolve userfinish:=True
SolverOk SetCell:="$B$29", MaxMinVal:=1, ValueOf:="0", ByChange:="$B$16:$B$25"
SolverSolve userfinish:=True
SolverOk SetCell:="$B$29", MaxMinVal:=1, ValueOf:="0", ByChange:="$B$16:$B$25"
SolverSolve userfinish:=True
SolverOk SetCell:="$B$29", MaxMinVal:=1, ValueOf:="0", ByChange:="$B$16:$B$25"
SolverSolve userfinish:=True
ActiveWindow.SmallScroll Down:=12
Range("C29:C30").Select
Selection.Copy Destination:=ActiveSheet.Cells(L, 4)
==>Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-24
L = L + 2
x = x + 0.02
Loop
End Sub

Anzeige
AW: Makro Schleife
Dr.
Dann schreibste folgendes:
Range("C29:C30").Copy
Cells(L, 4).Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
AW: Makro Schleife
Matthias
Funktioniert!
Vielen Dank!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige