für folgende Aufgabe fehlt mir eine Lösung:
In Spalte A befindet sich eine Zahlenreihe von 1 bis... nach unten variabel.
In Spalte C und D wird die Zahlenreihe mittels VBA (gefunden im Archiv) ohne
Wiederholung permutiert. Siehe unten den Code.
Des weiteren zu jeder Zahl in der Spalte A gibt es einen Wert in der Spalte B.
Die Werte in Spalte B werden subtrahiert und in Spalte E eingetragen.
Alle Kombinationen, gemäß der Spalte C, werden nacheinander abgearbeitet.
Ich versuche mein Anliegen zu erklären am Beispiel folgender Tabelle:
Erst wird die Zahl 1 und deren Kombinationen subtrahiert:
=$B$1-B2
=$B$1-B3
=$B$1-B4
=$B$1-B5
=$B$1-B6
=$B$1-B7
=$B$1-B8
Dann die Zahl 2 und deren Kombinationen subtrahiert:
=$B$2-B3
=$B$2-B4
=$B$2-B5
=$B$2-B6
=$B$2-B7
=$B$2-B8
u.s.w.
Ich hoffe ich konnte einigermaßen verständlich erklären bzw. anhand der Tabelle zeigen.
Hat jemand eine Idee, einen Lösungsansatz und kann helfen?
Hier der Code
Sub permutation()
Dim sCnt, sIx1, sTo1, sIx2, sTo2 As Single
sCnt = 1
sTo2 = Application.WorksheetFunction.CountA(ActiveSheet.Range("A:A"))
sTo1 = sTo2 - 1
For sIx1 = 1 To sTo1
For sIx2 = sIx1 + 1 To sTo2
ActiveSheet.Cells(sCnt, 3).Value = ActiveSheet.Cells(sIx1, 1).Value
ActiveSheet.Cells(sCnt, 4).Value = ActiveSheet.Cells(sIx2, 1).Value
sCnt = sCnt + 1
Next sIx2
Next sIx1
End Sub
Hier das BeispielTabelle1
A | B | C | D | E | F | |
1 | 1 | 10 | 1 | 2 | -1 | =$B$1-B2 |
2 | 2 | 11 | 1 | 3 | -2 | =$B$1-B3 |
3 | 3 | 12 | 1 | 4 | -3 | =$B$1-B4 |
4 | 4 | 13 | 1 | 5 | -4 | =$B$1-B5 |
5 | 5 | 14 | 1 | 6 | -5 | =$B$1-B6 |
6 | 6 | 15 | 1 | 7 | -6 | =$B$1-B7 |
7 | 7 | 16 | 1 | 8 | -7 | =$B$1-B8 |
8 | 8 | 17 | 2 | 3 | -1 | =$B$2-B3 |
9 | 2 | 4 | -2 | =$B$2-B4 | ||
10 | 2 | 5 | -3 | =$B$2-B5 | ||
11 | 2 | 6 | -4 | =$B$2-B6 | ||
12 | 2 | 7 | -5 | =$B$2-B7 | ||
13 | 2 | 8 | -6 | =$B$2-B8 | ||
14 | 3 | 4 | -1 | =$B$3-B4 | ||
15 | 3 | 5 | -2 | =$B$3-B5 | ||
16 | 3 | 6 | -3 | =$B$3-B6 | ||
17 | 3 | 7 | -4 | =$B$3-B7 | ||
18 | 3 | 8 | -5 | =$B$3-B8 | ||
19 | 4 | 5 | -1 | =$B$4-B5 | ||
20 | 4 | 6 | -2 | =$B$4-B6 | ||
21 | 4 | 7 | -3 | =$B$4-B7 | ||
22 | 4 | 8 | -4 | =$B$4-B8 | ||
23 | 5 | 6 | -1 | =$B$5-B6 | ||
24 | 5 | 7 | -2 | =$B$5-B7 | ||
25 | 5 | 8 | -3 | =$B$5-B8 | ||
26 | 6 | 7 | -1 | =$B$6-B7 | ||
27 | 6 | 8 | -2 | =$B$6-B8 | ||
28 | 7 | 8 | -1 | =$B$7-B8 |
verwendete Formeln | |||
Zelle | Formel | Bereich | N/A |
E1:E7 | =$B$1-B2 | ||
E8:E13 | =$B$2-B3 | ||
E14:E18 | =$B$3-B4 | ||
E19:E22 | =$B$4-B5 | ||
E23:E25 | =$B$5-B6 | ||
E26:E27 | =$B$6-B7 | ||
E28 | =$B$7-B8 | ||
F1:F28 | =FORMELTEXT(E1) |
Excel-Inn.de |
Hajo-Excel.de |
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007 |
Add-In-Version 23.07 einschl. 64 Bit |
Vielen Dank im Voraus.
Grüße