|
前者是这样- Sub tt()
- arr = Range("a1:f" & [a65536].End(3).Row)
- a = [g1]: b = [h1]
- Set d = CreateObject("scripting.dictionary")
- For i = 1 To UBound(arr)
- For j = 1 To UBound(arr, 2)
- If arr(i, j) = a Then d(a) = d(a) & "," & i 'a出现的行数
- If arr(i, j) = b Then d(b) = d(b) & "," & i 'b出现的行数
- Next
- Next
- xrr = Split(d(a), ","): yrr = Split(d(b), ",")
- ReDim xxrr(1 To UBound(xrr))
- ReDim yyrr(1 To UBound(yrr))
- For i = 1 To UBound(xrr) - 1 '行数相减
- xxrr(i) = Val(xrr(i + 1)) - Val(xrr(i))
- Next
- For i = 1 To UBound(yrr) - 1
- yyrr(i) = Val(yrr(i + 1)) - Val(yrr(i))
- Next
- maxa = Application.Max(xxrr) '找出最大
- maxb = Application.Max(yyrr)
- xmax = Application.Max(maxa, maxb) '比较最大
- [i1] = xmax
- End Sub
复制代码 |
|