|
按开车的说法写了个仅供参考(数据源是c1:c100,为整数,最后的结果仅为一句msgbox,按自己的需求改吧)
Sub test()
ar = [c1:c100]
lar1% = ar(1, 1): k1% = 1
lar2% = ar(1, 1): k2% = 1
lar3% = ar(1, 1)
For i% = 2 To UBound(ar)
If lar1 < ar(i, 1) Then
lar3 = lar2
lar2 = lar1: k2 = k1
lar1 = ar(i, 1): k1 = 1
ElseIf lar1 = ar(i, 1) Then
k1 = k1 + 1
Else
If lar2 < ar(i, 1) Then
lar3 = lar2
lar2 = ar(i, 1): k2 = 1
ElseIf lar2 = ar(i, 1) Then
k2 = k2 + 1
Else
If lar3 < ar(i, 1) Then lar3 = ar(i, 1)
End If
End If
Next
MsgBox "最大值" & lar1 & "出现" & k1 & "次,第二大值" & lar2 & "出现" & k2 & "次,第三大值" & lar3
End Sub |
|