|
发表于 2017-6-13 15:04
|
显示全部楼层
本楼为最佳答案
- Sub caiji()
- Dim n As Long, m As Long, arr, brr, i%, j%, k%, r%, crr(1 To 100000, 1 To 2), s As Boolean
- Columns("d:e").ClearContents
- arr = Range("a1:a100000")
- brr = Range("b1:b16")
- m = 1
- For i = 1 To 3
- For n = 1 To 100000 - 16 + i - 1
- r = 0
- For j = i To 16
- If brr(j, 1) <> arr(j + n - i, 1) Then Exit For
- r = r + 1
- Next
- If r = 16 - i + 1 Then
- If m > 1 Then
- For k = 1 To m
- If crr(k, 1) = 17 + n - i Then
- s = True
- Exit For
- End If
- Next
- If Not s Then
- crr(m, 1) = 17 + n - i
- crr(m, 2) = arr(17 + n - i, 1)
- m = m + 1
- End If
- s = False
- Else
- crr(m, 1) = 17 + n - i
- crr(m, 2) = arr(17 + n - i, 1)
- m = m + 1
- End If
- End If
- Next
- Next
- Range("d1").Resize(m, 2) = crr
- End Sub
复制代码 |
|