Arrays VBA noob,如何在多个数组中挑出唯一值?

Arrays VBA noob,如何在多个数组中挑出唯一值?,arrays,vba,Arrays,Vba,我有9个数组,每个数组包含8个值: all(1,1,0-8) all(1,2,0-8) . . . all(3,2,0-8) all(3,3,0-8) 我希望获得驻留在其中一个数组中的唯一值,这意味着其他数组都没有该值。我该怎么做 PS:我在这个问题上浪费了10个小时,不好意思分享我是如何从彼此身上提取它们的,结果却发现它不起作用,因为某些原因可能与奇数有关,所以我是noob,已经投入了10个小时的努力 i = 1 'same box probablity

我有9个数组,每个数组包含8个值:

all(1,1,0-8)
all(1,2,0-8)
.
.
.
all(3,2,0-8)
all(3,3,0-8)
我希望获得驻留在其中一个数组中的唯一值,这意味着其他数组都没有该值。我该怎么做

PS:我在这个问题上浪费了10个小时,不好意思分享我是如何从彼此身上提取它们的,结果却发现它不起作用,因为某些原因可能与奇数有关,所以我是noob,已经投入了10个小时的努力

i = 1                    'same box probablity elimination

c = 0
e = 0
k = 1
For i = 1 To 3
    For k = 1 To 3
      For c = 0 To 8
      e = 0
       For e = 0 To 8
         If k = 3 And i = 1 Then


            If all(i, k, e) - all(i, 1, c) = 0 Then
            all(i, k, e) = 0: all(i, 1, c) = 0



            End If
            If all(i, k, e) - all(i + 1, 1, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 1, c) = 0
            End If
            If all(i, k, e) - all(i + 2, 1, c) = 0 Then
            all(i, k, e) = 0: all(i + 2, 1, c) = 0
            End If
            If all(i, k, e) - all(i, 2, c) = 0 Then
            all(i, k, e) = 0: all(i, 2, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 2, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 2, c) = 0
            End If
            If all(i, k, e) - all(i + 2, 2, c) = 0 Then
            all(i, k, e) = 0: all(i + 2, 2, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 3, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 3, c) = 0
            End If
            If all(i, k, e) - all(i + 2, 3, c) = 0 Then
            all(i, k, e) = 0: all(i + 2, 3, c) = 0
            End If
         End If

          If k = 3 And i = 2 Then
            If all(i, k, e) - all(i - 1, 1, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 1, c) = 0
            End If
            If all(i, k, e) - all(i, 1, c) = 0 Then
            all(i, k, e) = 0: all(i, 1, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 1, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 1, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 2, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 2, c) = 0
            End If
            If all(i, k, e) - all(i, 2, c) = 0 Then
            all(i, k, e) = 0: all(i, 2, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 2, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 2, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 3, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 3, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 3, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 3, c) = 0
            End If
          End If

          If k = 3 And i = 3 Then
            If all(i, k, e) - all(i - 2, 1, c) = 0 Then
            all(i, k, e) = 0: all(i - 2, 1, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 1, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 1, c) = 0
            End If
            If all(i, k, e) - all(i, 1, c) = 0 Then
            all(i, k, e) = 0: all(i, 1, c) = 0
            End If
            If all(i, k, e) - all(i - 2, 2, c) = 0 Then
            all(i, k, e) = 0: all(i - 2, 2, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 2, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 2, c) = 0
            End If
            If all(i, k, e) - all(i, 2, c) = 0 Then
            all(i, k, e) = 0: all(i, 2, c) = 0
            End If
            If all(i, k, e) - all(i - 2, 3, c) = 0 Then
            all(i, k, e) = 0: all(i - 2, 3, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 3, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 3, c) = 0
            End If
          End If

          If k = 2 And i = 1 Then
            If all(i, k, e) - all(i, 1, c) = 0 Then
            all(i, k, e) = 0: all(i, 1, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 1, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 1, c) = 0
            End If
            If all(i, k, e) - all(i + 2, 1, c) = 0 Then
            all(i, k, e) = 0: all(i + 2, 1, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 2, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 2, c) = 0
            End If
            If all(i, k, e) - all(i + 2, 2, c) = 0 Then
            all(i, k, e) = 0: all(i + 2, 2, c) = 0
            End If
            If all(i, k, e) - all(i, 3, c) = 0 Then
            all(i, k, e) = 0: all(i, 3, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 3, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 3, c) = 0
            End If
            If all(i, k, e) - all(i + 2, 3, c) = 0 Then
            all(i, k, e) = 0: all(i + 2, 3, c) = 0
            End If
           End If

           If k = 2 And i = 2 Then
            If all(i, k, e) - all(i - 1, 1, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 1, c) = 0
            End If
            If all(i, k, e) - all(i, 1, c) = 0 Then
            all(i, k, e) = 0: all(i, 1, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 1, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 1, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 2, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 2, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 2, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 2, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 3, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 3, c) = 0
            End If
            If all(i, k, e) - all(i, 3, c) = 0 Then
            all(i, k, e) = 0: all(i, 3, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 3, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 3, c) = 0
            End If
           End If

           If k = 2 And i = 3 Then
            If all(i, k, e) - all(i - 2, 1, c) = 0 Then
            all(i, k, e) = 0: all(i - 2, 1, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 1, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 1, c) = 0
            End If
            If all(i, k, e) - all(i, 1, c) = 0 Then
            all(i, k, e) = 0: all(i, 1, c) = 0
            End If
            If all(i, k, e) - all(i - 2, 2, c) = 0 Then
            all(i, k, e) = 0: all(i - 2, 2, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 2, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 2, c) = 0
            End If
            If all(i, k, e) - all(i - 2, 3, c) = 0 Then
            all(i, k, e) = 0: all(i - 2, 3, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 3, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 3, c) = 0
            End If
            If all(i, k, e) - all(i, 3, c) = 0 Then
            all(i, k, e) = 0: all(i, 3, c) = 0
            End If
           End If

           If k = 1 And i = 1 Then
            If all(i, k, e) - all(i + 1, 1, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 1, c) = 0
            End If
                        If e = 1 And c = 1 And i = 1 And k = 1 Then MsgBox all(3, 1, 0) & all(3, 1, 1) & all(3, 1, 2) & all(3, 1, 3) & all(3, 1, 4) & all(3, 1, 5) & all(3, 1, 6)
                        If e = 1 And c = 1 And i = 1 And k = 1 Then MsgBox all(1, 1, 0) & all(1, 1, 1) & all(1, 1, 2) & all(1, 1, 3) & all(1, 1, 4) & all(1, 1, 5) & all(1, 1, 6)

            If all(i, k, e) - all(i + 2, 1, c) = 0 Then
            all(i, k, e) = 0: all(i + 2, 1, c) = 0
                        If e = 1 And c = 1 And i = 1 And k = 1 Then MsgBox all(3, 1, 0) & all(3, 1, 1) & all(3, 1, 2) & all(3, 1, 3) & all(3, 1, 4) & all(3, 1, 5) & all(3, 1, 6)
                        If e = 1 And c = 1 And i = 1 And k = 1 Then MsgBox all(1, 1, 0) & all(1, 1, 1) & all(1, 1, 2) & all(1, 1, 3) & all(1, 1, 4) & all(1, 1, 5) & all(1, 1, 6)

            End If
            If all(i, k, e) - all(i, 2, c) = 0 Then
            all(i, k, e) = 0: all(i, 2, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 2, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 2, c) = 0
            End If
            If all(i, k, e) - all(i + 2, 2, c) = 0 Then
            all(i, k, e) = 0: all(i + 2, 2, c) = 0
            End If
            If all(i, k, e) - all(i, 3, c) = 0 Then
            all(i, k, e) = 0: all(i, 3, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 3, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 3, c) = 0
            End If
            If all(i, k, e) - all(i + 2, 3, c) = 0 Then
            all(i, k, e) = 0: all(i + 2, 3, c) = 0
            End If
           End If

           If k = 1 And i = 2 Then
            If all(i, k, e) - all(i - 1, 1, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 1, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 1, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 1, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 2, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 2, c) = 0
            End If
            If all(i, k, e) - all(i, 2, c) = 0 Then
            all(i, k, e) = 0: all(i, 2, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 2, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 2, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 3, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 3, c) = 0
            End If
            If all(i, k, e) - all(i, 3, c) = 0 Then
            all(i, k, e) = 0: all(i, 3, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 3, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 3, c) = 0
            End If
           End If

           If k = 1 And i = 3 Then
            If all(i, k, e) - all(i - 2, 1, c) = 0 Then
            all(i, k, e) = 0: all(i - 2, 1, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 1, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 1, c) = 0
            End If
            If all(i, k, e) - all(i - 2, 2, c) = 0 Then
            all(i, k, e) = 0: all(i - 2, 2, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 2, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 2, c) = 0
            End If
            If all(i, k, e) - all(i, 2, c) = 0 Then
            all(i, k, e) = 0: all(i, 2, c) = 0
            End If
            If all(i, k, e) - all(i - 2, 3, c) = 0 Then
            all(i, k, e) = 0: all(i - 2, 3, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 3, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 3, c) = 0
            End If
            If all(i, k, e) - all(i, 3, c) = 0 Then
            all(i, k, e) = 0: all(i, 3, c) = 0
            End If
           End If
        Next e
      Next c
    Next k
Next i

i = 1                    'same box probablity elimination
c = 0
e = 0
k = 4
For i = 1 To 3
    For k = 4 To 6
      For c = 0 To 8
      e = 0
       For e = 0 To 8
         If k = 6 And i = 1 Then
            If all(i, k, e) - all(i, 4, c) = 0 Then
            all(i, k, e) = 0: all(i, 4, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 4, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 4, c) = 0
            End If
            If all(i, k, e) - all(i + 2, 4, c) = 0 Then
            all(i, k, e) = 0: all(i + 2, 4, c) = 0
            End If
            If all(i, k, e) - all(i, 5, c) = 0 Then
            all(i, k, e) = 0: all(i, 5, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 5, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 2, c) = 0
            End If
            If all(i, k, e) - all(i + 2, 5, c) = 0 Then
            all(i, k, e) = 0: all(i + 2, 5, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 6, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 6, c) = 0
            End If
            If all(i, k, e) - all(i + 2, 6, c) = 0 Then
            all(i, k, e) = 0: all(i + 2, 6, c) = 0
            End If
         End If

          If k = 6 And i = 2 Then
            If all(i, k, e) - all(i - 1, 4, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 4, c) = 0
            End If
            If all(i, k, e) - all(i, 4, c) = 0 Then
            all(i, k, e) = 0: all(i, 4, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 4, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 4, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 5, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 5, c) = 0
            End If
            If all(i, k, e) - all(i, 5, c) = 0 Then
            all(i, k, e) = 0: all(i, 5, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 5, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 5, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 6, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 6, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 6, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 6, c) = 0
            End If
          End If

          If k = 6 And i = 3 Then
            If all(i, k, e) - all(i - 2, 4, c) = 0 Then
            all(i, k, e) = 0: all(i - 2, 4, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 4, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 4, c) = 0
            End If
            If all(i, k, e) - all(i, 4, c) = 0 Then
            all(i, k, e) = 0: all(i, 4, c) = 0
            End If
            If all(i, k, e) - all(i - 2, 5, c) = 0 Then
            all(i, k, e) = 0: all(i - 2, 5, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 5, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 5, c) = 0
            End If
            If all(i, k, e) - all(i, 5, c) = 0 Then
            all(i, k, e) = 0: all(i, 5, c) = 0
            End If
            If all(i, k, e) - all(i - 2, 6, c) = 0 Then
            all(i, k, e) = 0: all(i - 2, 6, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 6, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 6, c) = 0
            End If
          End If

          If k = 5 And i = 1 Then
            If all(i, k, e) - all(i, 4, c) = 0 Then
            all(i, k, e) = 0: all(i, 4, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 4, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 4, c) = 0
            End If
            If all(i, k, e) - all(i + 2, 4, c) = 0 Then
            all(i, k, e) = 0: all(i + 2, 4, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 5, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 5, c) = 0
            End If
            If all(i, k, e) - all(i + 2, 5, c) = 0 Then
            all(i, k, e) = 0: all(i + 2, 5, c) = 0
            End If
            If all(i, k, e) - all(i, 6, c) = 0 Then
            all(i, k, e) = 0: all(i, 6, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 6, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 6, c) = 0
            End If
            If all(i, k, e) - all(i + 2, 6, c) = 0 Then
            all(i, k, e) = 0: all(i + 2, 6, c) = 0
            End If
           End If

           If k = 5 And i = 2 Then
            If all(i, k, e) - all(i - 1, 4, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 4, c) = 0
            End If
            If all(i, k, e) - all(i, 4, c) = 0 Then
            all(i, k, e) = 0: all(i, 4, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 4, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 4, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 5, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 5, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 5, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 5, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 6, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 6, c) = 0
            End If
            If all(i, k, e) - all(i, 6, c) = 0 Then
            all(i, k, e) = 0: all(i, 6, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 6, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 6, c) = 0
            End If
           End If

           If k = 5 And i = 3 Then
            If all(i, k, e) - all(i - 2, 4, c) = 0 Then
            all(i, k, e) = 0: all(i - 2, 4, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 4, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 4, c) = 0
            End If
            If all(i, k, e) - all(i, 4, c) = 0 Then
            all(i, k, e) = 0: all(i, 4, c) = 0
            End If
            If all(i, k, e) - all(i - 2, 5, c) = 0 Then
            all(i, k, e) = 0: all(i - 2, 5, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 5, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 5, c) = 0
            End If
            If all(i, k, e) - all(i - 2, 6, c) = 0 Then
            all(i, k, e) = 0: all(i - 2, 6, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 6, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 6, c) = 0
            End If
            If all(i, k, e) - all(i, 6, c) = 0 Then
            all(i, k, e) = 0: all(i, 6, c) = 0
            End If
           End If

           If k = 4 And i = 1 Then
            If all(i, k, e) - all(i + 1, 4, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 4, c) = 0
            End If
            If all(i, k, e) - all(i + 2, 4, c) = 0 Then
            all(i, k, e) = 0: all(i + 2, 4, c) = 0
            End If
            If all(i, k, e) - all(i, 5, c) = 0 Then
            all(i, k, e) = 0: all(i, 5, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 5, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 5, c) = 0
            End If
            If all(i, k, e) - all(i + 2, 5, c) = 0 Then
            all(i, k, e) = 0: all(i + 2, 5, c) = 0
            End If
            If all(i, k, e) - all(i, 6, c) = 0 Then
            all(i, k, e) = 0: all(i, 6, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 6, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 6, c) = 0
            End If
            If all(i, k, e) - all(i + 2, 6, c) = 0 Then
            all(i, k, e) = 0: all(i + 2, 6, c) = 0
            End If
           End If

           If k = 4 And i = 2 Then
            If all(i, k, e) - all(i - 1, 4, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 4, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 4, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 4, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 5, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 5, c) = 0
            End If
            If all(i, k, e) - all(i, 5, c) = 0 Then
            all(i, k, e) = 0: all(i, 5, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 5, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 5, c) = 0
            End If
            If all(i, k, e) - all(i - 1, 6, c) = 0 Then
            all(i, k, e) = 0: all(i - 1, 6, c) = 0
            End If
            If all(i, k, e) - all(i, 6, c) = 0 Then
            all(i, k, e) = 0: all(i, 6, c) = 0
            End If
            If all(i, k, e) - all(i + 1, 6, c) = 0 Then
            all(i, k, e) = 0: all(i + 1, 6, c) = 0
            End If
           End If
编辑:

我想到了一种算法,可以处理那些数组中奇数个同时出现的值。我只能使用if-then、for-next和do-while,所以实现它需要一些时间


基本上,它将并发值存储在一个单独的变量中,并从数组中而不是在比较中一次性消除它们。无论如何,感谢Floris的输入。

您可以尝试下面的一种变体(我创建一个数组,在a中的值范围内,每个可能的整数都有一个元素,这是一个低效的方法;但这只是一个开始……)


您是说每个数组中出现的每个值都至少出现在另一个数组中,但您要查找的特定值除外?这些是什么类型的阵列?外观“混合”-一些整数和字符串
0-8
。为什么不连接所有数组并查找只出现一次的元素?您可以使用
字典
对象(如果您在Windows上运行)来执行此操作。每个数组元素包含一个从0到9的整数,大部分为零。您是否可以显示实际值(如果您有8x8,则只有64个值。显示这些值应该非常简单。)。这也有助于展示你用来尝试这个的代码——不要害羞。修复某人的代码要比从头开始写东西(通常)容易。如何使用dictionary对象?我在windows上。i=1'相同框概率消除c=0 e=0 k=1对于i=1到3对于k=1到3对于c=0到8 e=0对于e=0到8如果k=3和i=1那么如果all(i,k,e)-all(i,1,c)=0那么all(i,k,e)=0:all(i,1,c)=0 End如果all(i,k,e)-all(i+1,1,c)=0那么all(i,k,e)=0:all(i+1,1,c)=0 End如果all(i,k,e)-all(i+2,1,c)=0那么all(i,k,e)=0:all(i+2,1,c)=0如果all(i,k,e)-all(i+2,1,c)=0如果all(i,k,e)-all(i+2,1,1,c)=0如果all(i,k,k,e)-1,e=0我,我的意思是我从来没有用过for-each语句。for-each只是依次访问每个元素的简写,而不必明确地说有多少个元素。这有点像对ii=LBound(A)到UBound(A)说
:c=A(ii)
等等
Sub uniqueEl()
Dim a
a = Array(Array(0, 0, 0, 0, 0, 0, 0, 0), _
                Array(1, 1, 1, 1, 1, 1, 1, 1), _
                Array(2, 2, 2, 2, 2, 2, 2, 2), _
                Array(3, 3, 3, 3, 3, 3, 3, 4))

Dim m1, m2
m1 = Application.WorksheetFunction.Min(a)
m2 = Application.WorksheetFunction.Max(a)
Dim b() As Integer
ReDim b(0 To m2 - m1)
Dim c, d
For Each c In a
  For Each d In c
    b(d - m1) = b(d - m1) + 1
  Next
Next

Dim ii
ii = m1
For Each c In b
  If c = 1 Then
    MsgBox "found the single element: it is " & ii
  End If
  ii = ii + 1
Next



End Sub