Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dynamische Schleifen

Forumthread: 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.

Anzeige

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

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

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