AW: es klappt nicht
04.12.2007 01:14:45
Daniel
Hi
also mal Fehler eins:
bei der Berechnung der Dimensionierung ist ein Faktor zu viel drin, du rechnest mit 7, brauchst aber nur 6, dh (Anz-6) kann entfallen
ReDim Erg(1 To Anz * (Anz - 1) * (Anz - 2) * (Anz - 3) * (Anz - 4) * (Anz - 5) * (Anz - 6)
, 1 To 6)
Fehler zwei liegt hier:
Cells(1, 6).Resize(UBound(Erg, 1), UBound(Erg, 2), UBound(Erg, 3), UBound(Erg, 4), UBound(Erg, _
_
5)) = Erg
Erg ist nur ein 2 Dimensionalse Feld (egal, mit vielen Werten du rechnest, und wir müssen nur den Zellbeeich, in den wir ERG zurückschreiben wollen, genauso gross machen, wie ERG: dh. das hier reicht:
Cells(1, 6).Resize(UBound(Erg, 1), UBound(Erg, 2)) = Erg
das eigentliche Problem ist diese Zeile:
If Not (i = j Or i = k Or i = l Or i = m Or i = n Or n) Then
hier müsstset du jeden Schleifenzähler miteinder vergleichen, denn die Kombinationen sollen ja nur zurückgeschrieben werden, wenn jeder der Zähler einen anderen Wert hat.
insgesamt müsstest du bei 6 Werten 15 Vergleichsoperationen haben, von denen keiner gleich sein darf.
da bin ich jetzt auch etwas überfragt, das wird dann wohl etwas aufwendiger.
Gruß Daniel