Hi Hajo,
immer noch nicht gelöst?:
/t/buchstabenkombinationen-zufaellige-verteilung/368…
1)Ich möchte aus einer Menge von 8 Elementen ( a,b,c,d,e,f,g,h
) eindeutige 4-er Kombinationen erstellen, d.h. „abcd“ ist
gleich „acdb“. Das es 70 solcher Kombinationen gibt ist mir
klar, aber kann Excel diese Kombinationen auch erzeugen?
Ja, siehe nachfolgenden Spaghetticode.
2)Kann Excel diese Kombinationen gleichmäßig in einem Gitter
verteilen, also nicht abcd, abce, abcf, abcg usw.?
Es gibt Zufallsverteilung, dann kann aber auch genau diese Verteilung, oder Verteilung/Auswahl aufgrund von Regeln, die müßte man dazu kennen. Regel wäre z.B. jeder zweite Wert, bis die 33 erreicht sind u.ä.
Bin trotz allem Suchens nicht fündig geworden
Gruß
Reinhard
In ein Modul:
Option Explicit
Sub acht()
Dim a As Byte, B As Byte, c As Byte, d As Byte, Wort$, zei As Long
Columns(1).ClearContents
For a = 97 To 104
For B = 97 To 104
For c = 97 To 104
For d = 97 To 104
Wort$ = Chr(a) & Chr(B) & Chr(c) & Chr(d)
If pruef(Wort$, a) = True And pruef(Wort$, B) = True And pruef(Wort$, c) = True And pruef(Wort$, d) = True Then
If Application.WorksheetFunction.CountIf(Columns(2), Bits(Wort$)) = 0 Then
zei = zei + 1
Cells(zei, 2) = Bits(Wort$)
Cells(zei, 1) = Wort$
End If
End If
Next d
Next c
Next B
Next a
[B1].EntireColumn.ClearContents
End Sub
Function pruef(Wort As String, Such As Byte) As Boolean
If InStr(InStr(Wort, Chr(Such)) + 1, Wort, Chr(Such)) = 0 Then pruef = True
End Function
Function Bits(Wort)
Dim n, B, nn
Bits = "00000000"
For n = 1 To 4
For nn = 97 To 104
If Mid(Wort, n, 1) = Chr(nn) Then Mid(Bits, nn - 96, 1) = "1"
Next nn
Next n
End Function