- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
3#
發表於 2012-11-18 17:42
| 只看該作者
回復 2# Hsieh
回復 1# PJChen
不好意思,借用 Hsieh 版大的語法稍加修飾:- Sub Test()
- Dim ans As Variant
-
- ans = RankData(Range("B2:B11"), True)
- MsgBox "最大值為 " & ans
- ans = RankData(Range("B2:B11"), False)
- MsgBox "最小值為 " & ans
- End Sub
- Function RankData(Rng As Range, asc As Boolean) As Variant
- Dim rn As Variant
-
- For Each rn In Rng
- If asc = True Then
- RankData = IIf(RankData = "", rn, IIf(rn > RankData, rn, RankData))
- Else
- RankData = IIf(RankData = "", rn, IIf(rn < RankData, rn, RankData))
- End If
- Next
- End Function
複製代碼 |
|