ich möchte gerne diese geschachtelten Schleifen dynamisch Programmieren. Also n Schleifen die jeweils eins ergeben. 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 = 1
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) und mehr 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.