第壹,壹般流通法
子周期()
暗淡我壹樣長
Dim j As Long
Dim MaxCnt壹樣長
Dim arr作為變量
將單元格作為範圍變暗
對於範圍內的每個單元格(“G9:G13”)
arr =應用程序。轉置(應用。轉置(單元格。調整大小(1,8)))
細胞(細胞。行,“C”)。清楚的
For i = LBound(arr)至UBound(arr)
MaxCnt = 0
對於j = i到UBound(arr)
如果arr(j)>那麽0
MaxCnt = MaxCnt + 1
其他
為...退出
如果…就會結束
下壹個j
細胞(細胞。行,“C”)=應用。Max(MaxCnt,Cells(Cell。行,“C”))
接下來我
下壹個單元格
末端接頭
二、遞歸方法
子遷移()
將單元格作為範圍變暗
對於範圍內的每個單元格(“G9:G13”)
細胞(細胞。行,“C”)。清楚的
調用遞歸(單元格。調整大小(1,8))
然後
末端接頭
子遞歸(Rng作為範圍)
Dim Cntius壹樣長
Dim arr作為變量
暗淡我壹樣長
如果Rng。那麽計數= 1
arr = Array(Rng。值)
其他
arr =應用程序。轉置(應用。轉置(Rng))
如果…就會結束
For i = LBound(arr)至UBound(arr)
如果arr(I)& lt;& gt那麽0
Cntius = Cntius + 1
其他
為...退出
如果…就會結束
然後
細胞(Rng。行,“C”)=應用。最大(Cntius,細胞(Rng。行,“C”))
如果Rng。Count & gt那麽1
遞歸Rng。偏移量(0,1)。調整大小(1,Rng。列數- 1)
如果…就會結束
末端接頭
兩人跑步的截圖
我沒有用幾十萬行數據來測試,不知道哪個更快。