- Sub 用VBA数组计算多列最大连续次数()
- Set d = CreateObject("scripting.dictionary")
- arr = [g1:i22]: brr = [f25:i29]
- For j = 1 To UBound(arr, 2)
- d(Left(arr(1, j), 1) & Mid(arr(1, j), 3, 1)) = 1
- For i = 2 To UBound(arr)
- x = Left(arr(i, j), 1) & Mid(arr(i, j), 3, 1)
- x1 = Left(arr(i - 1, j), 1) & Mid(arr(i - 1, j), 3, 1)
- If x = x1 Then
- s = s + 1
- If s > d(x) Then d(x) = s
- Else
- s = 1
- End If
- Next
-
- For i = 1 To UBound(brr)
- x = brr(i, 1)
- brr(i, j + 1) = IIf(d.exists(x), x & d(x), x & "1")
- Next
- d.RemoveAll
- Next
-
- [f25:i29] = brr
- End Sub
复制代码 |