返回列表 上一主題 發帖

請問有數筆不同值的考試分數!如何設定函數找出最接近50分的人名呢!

謝謝論壇,謝謝各位前輩
後學藉此帖練習VBA陣列與字典,學習方案如下,請各位前輩指教

執行結果:



Option Explicit
Sub TEST()
Dim Brr, Y, i&, b#
'↑宣告變數
Set Y = CreateObject("Scripting.Dictionary")
'↑令Y變數是 字典
Brr = Range([B1], Cells(Rows.Count, 1).End(3))
'↑令Brr變數是 二維陣列,以儲存格值帶入
For i = 1 To UBound(Brr)
'↑設順迴圈!
   b = Abs(50 - Brr(i, 2))
   '↑令b變數是 50減 Brr第2欄陣列值後,Abs()轉為正值
   Y(b) = Trim(Y(b) & " " & Brr(i, 1) & "(" & Brr(i, 2) & ")")
   '↑令以b變數當key,item是自身連接Brr陣列第1.2欄陣列值
Next
MsgBox Y(Application.Min(Y.KEYS))
'↑令跳出提示窗 顯示: 以Y字典裡最小的key值回傳的item值
Set Y = Nothing: Erase Brr
'↑令釋放變數
End Sub
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

        靜思自在 : 看別人不順眼,是自己修養不夠。
返回列表 上一主題