|
发表于 2013-7-26 09:46
|
显示全部楼层
本楼为最佳答案
找到一个符合的就退出运行,没考虑有多个符合的情况- Private Sub CommandButton1_Click()
- Dim arr, i&, j&, k&, l As Byte, m As Byte
- arr = [a1].CurrentRegion
- For i = 1 To UBound(arr)
- If arr(i, 1) = 0 Then Exit For
- Next i
- For k = 1 To Int(i / 2)
- If arr(i - k, 1) = arr(i - 2 * k, 1) Then
- l = 0: m = 0
- For j = i - 2 * k - 1 To 1 Step -1
- If arr(i - 2 * k, 1) = arr(j, 1) Then l = l + 1: m = Abs(j - m)
- Next
- If l = 2 Then
- [q1] = k
- [q2] = m
- Exit Sub
- End If
- End If
- Next k
- End Sub
复制代码 |
评分
-
查看全部评分
|