Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1384to1388
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

Dynamische Schleifen

Dynamische Schleifen
15.10.2014 01:17:56
Oliver
Hallo,
ich möchte gerne diese geschachtelten Schleifen dynamisch Programmieren. Leider ist mir dies _
noch nicht gelungen. Ich habe schon gelesen das man das Rekursiv machen kann. Hier mein alter Quellcode.
Sub Gitternetz(ByVal arr2)
Dim k, m, n, j, i
Worksheets("Alle-Anteile").Cells.Clear
Worksheets("Alle-Anteile").Activate
k = 0
If UBound(arr2) = 4 Then
For m = 0 To 1 Step 0.05
For n = 0 To 1 Step 0.05
For j = 0 To 1 Step 0.05
For i = 1 To 0 Step -0.05
If Round(i + j + n + m, 2) = 1 Then
Cells(k, 5) = Round(i + j + n + m, 2)
Cells(k, 4) = i
Cells(k, 3) = j
Cells(k, 2) = n
Cells(k, 1) = m
Cells(k, 6) = Sheets("RWE").Range("L18") * m _
+ Sheets("EON").Range("L18") * n _
+ Sheets("Commerzbank").Range("L18") * j _
+ Sheets("DeutscheBank").Range("L18") * i
Cells(k, 7).FormulaArray = _
"=MMULT((A" & k & ":D" & k & "),MMULT(Kovarianzmatrix!B2:E5, _
TRANSPOSE(A" & k & ":D" & k & ")))"
Cells(k, 8) = Cells(k, 7) ^ 0.5
k = k + 1
End If
Next i
Next j
Next n
Next m
End If
End Sub
Hier ist mein Rekursiver Ansatz. Ich bekomme Zählschleifen in Spalten. Aber was ich eigentlich _
möchte ist jede Kombination der 4(m,n,j,i) die die Summe 1 ergeben.

Function schleifen(i)
If i > 0 Then
for k=0 to 1 Step 0.1
Cells(i,k)=k
schleifen = (i + schleifen(i - 1))
Else
schleifen = 0
End If
End Function

Ich hoffe das es jemanden gibt der mir Helfen kann.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dynamische Schleifen
15.10.2014 05:02:13
Luschi
Hallo Oliver,
nach dieser Schleifenstruktur gibt es genau 15 Ergebnisse für: m + n + j + i = 1
 m             n             j             i
0             0             0,05          0,95
0             0             0,95          0,05
0             0,05          0             0,95
0             0,05          0,9           0,05
0             0,9           0,05          0,05
0             0,95          0             0,05
0,05          0             0             0,95
0,05          0             0,9           0,05
0,05          0,85          0,05          0,05
0,05          0,9           0             0,05
0,85          0,05          0,05          0,05
0,9           0             0,05          0,05
0,9           0,05          0             0,05
0,95          0             0             0,05
Es wird also nie diese Kombination geben:

0,25 0,25 0,25 0,25
Gruß von Luschi
aus klein-Paris
PS: Wenn dieser Befehl das 1. mal aufgerufen wird: Cells(k, 5) = Round(i + j + n + m, 2)
hat K immer noch den Wert '0' und bei Cells(0, 5) spielt der Compiler nicht mit.

Anzeige
AW: Dynamische Schleifen
15.10.2014 16:02:39
Oliver
Hallo Luschi,
danke für deine Antwort.
Erstmal muss k=1 sein, Sorry mein Fehler.
Dann entstehen 1540 Kombinationen die eins ergeben. Auch die mit 4 mal 0.25 .
Also das Funktioniert.
Aber wenn weitere Wertpapiere dazukommen, dann brauche ich pro Wertpapiere eine weitere schleife.
Darum bin ich auf eine Rekursion gestoßen. Die ich aber nicht für mein Problem Programmiert bekomme

AW: Dynamische Schleifen
15.10.2014 13:30:37
Oliver
Kann mir niemand Helfen?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige