Hallo,
nicht schön aber wirksam:
Sub alifa()
Dim arr, arrErg
Dim objArr As Object, objErg As Object
Dim a As Integer, b As Integer, c As Integer, _
d As Integer, e As Integer, f As Integer, _
i As Integer
arr = Array(7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, _
71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, _
149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197)
Set objArr = CreateObject("scripting.dictionary")
Set objErg = CreateObject("scripting.dictionary")
For i = LBound(arr) To UBound(arr)
objArr(arr(i)) = 0
Next
start:
If objArr.Count > 5 Then
arr = objArr.keys
For a = 0 To UBound(arr)
For b = a + 1 To UBound(arr)
For c = b + 1 To UBound(arr)
For d = c + 1 To UBound(arr)
For e = d + 1 To UBound(arr)
For f = e + 1 To UBound(arr)
If (arr(a) + arr(b) + arr(c) + arr(d) + arr(e) + arr(f)) = 564 Then
objErg(objErg.Count + 1) = Array(arr(a), arr(b), arr(c), _
arr(d), arr(e), arr(f))
objArr.Remove arr(a)
objArr.Remove arr(b)
objArr.Remove arr(c)
objArr.Remove arr(d)
objArr.Remove arr(e)
objArr.Remove arr(f)
GoTo start
End If
Next f
Next e
Next d
Next c
Next b
Next a
End If
arrErg = objErg.items
arrErg = Application.Transpose(arrErg)
With Sheets(1)
.Cells(1, 1).Resize(UBound(arrErg), UBound(arrErg, 2)) = arrErg
.Cells(8, 1).Resize(, UBound(arrErg, 2)).FormulaR1C1 = "=sum(r1C:r6c)"
End With
End Sub
Gruß
Rudi