AW: In Tabelle drei unterschiedliche Werte finden
11.06.2015 13:27:13
Daniel
Hallo
ich vermute, du willst alle Kombinationen aus 3 Zeilen, in denen 15 (3x5) unterschiedliche Werte stehen.
probier mal dieses Makro:
Sub fürAlifa()
Dim Sammler As String
Dim z1 As Long, z2 As Long, z3 As Long
Dim z
Dim s As Long
Dim arr
Dim Erg As String
Dim Abbruch As Boolean
arr = Range("A3:E364").Value
For z1 = 1 To UBound(arr) - 2
Application.StatusBar = "Bearbeitet: " & Format(z1 / (UBound(arr) - 1), "0%")
For z2 = z1 + 1 To UBound(arr) - 1
For z3 = z2 + 1 To UBound(arr)
Sammler = ","
Abbruch = False
For Each z In Array(z1, z2, z3)
For s = 1 To UBound(arr, 2)
If InStr(Sammler, "," & arr(z, s) & ",") = 0 Then
Sammler = Sammler & arr(z, s) & ","
Else
Abbruch = True
Exit For
End If
Next s
If Abbruch Then Exit For
Next
If Not Abbruch Then Erg = Erg & " | " & Join(Array(z1 + 2, z2 + 2, z3 + 2), ", ")
Next z3
Next z2
Next z1
Application.StatusBar = False
MsgBox "In folgenden Kombinationen aus 3 Zeilen sind alle Werte unterschiedlich:" & vbLf & Erg
End Sub
ist aber noch nicht zeitoptimiert, dh mit etwas Aufwand kann man die Durchlaufzeit noch senken, aber zuerst solltest du (ggf mit weniger Zeilen) mal prüfen, ob das das gewünschte Ergebnis ist.
Gruß Daniel