|
发表于 2015-1-22 15:08
|
显示全部楼层
本楼为最佳答案
- Sub Macro1()
- Dim arr, brr(1 To 65000, 1 To 1), w(9)
- arr = [a22:iv24]
- n = 100 'UBound(arr, 2)
- For a = 2 To n - 3
- For b = a + 1 To n - 2
- For c = b + 1 To n - 1
- For d = c + 1 To n
- w(arr(1, a)) = arr(1, a)
- w(arr(1, b)) = arr(1, b)
- w(arr(1, c)) = arr(1, c)
- w(arr(1, d)) = arr(1, d)
- w(arr(3, a)) = arr(3, a)
- w(arr(3, b)) = arr(3, b)
- w(arr(3, c)) = arr(3, c)
- w(arr(3, d)) = arr(3, d)
- If Len(Join(w, "")) = 8 Then s = s + 1: brr(s, 1) = a & "," & b & "," & c & "," & d
- Erase w
- If s > 60000 Then GoTo line100
- Next
- Next
- Next
- Next
- line100:
- '结果代表符合数据所在的列
- Range("a26").Resize(s) = brr
- End Sub
复制代码 |
|