Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Schleifen Dynamisch Programmieren

Forumthread: Schleifen Dynamisch Programmieren

Schleifen Dynamisch Programmieren
16.10.2014 17:13:09
Oliver
Hallo,
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.

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleifen Dynamisch Programmieren
18.10.2014 15:39:46
Oliver
Hat niemand eine Idee oder ist mein Problem nicht zu verstehen?
Brauche dringend Hilfe.
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18