VBA & WorkSheetFunction.min 調出陣列極小值
- 帖子
- 67
- 主題
- 8
- 精華
- 0
- 積分
- 78
- 點名
- 0
- 作業系統
- Windows XP
- 軟體版本
- Excel 2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2012-5-15
- 最後登錄
- 2021-9-14
|
VBA & WorkSheetFunction.min 調出陣列極小值
Dim ary(1 To 4) As Integer
ary(1) = 10
ary(2) = 15
ary(3) = 9
ary(4) = 11
Debug.Print WorksheetFunction.Min(Array(ary(2), ary(4)))
目的: 調出 陣列 2~ 4 中, 的最小值
上面是錯誤的程式碼, 只是回傳 11 , 而非 正確值 9
程式碼雖然可以改成 Debug.Print WorksheetFunction.Min(Array(ary(2), ary(3), ary(4)))
但卻無法適合於大型陣列中.
是否有其他的寫法, 調中一維陣列中, 某一區段的極小值 ?
|
|
|
|
|
|
|
- 帖子
- 67
- 主題
- 8
- 精華
- 0
- 積分
- 78
- 點名
- 0
- 作業系統
- Windows XP
- 軟體版本
- Excel 2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2012-5-15
- 最後登錄
- 2021-9-14
|
回復 alumi
上面是錯誤的程式碼, 只是回傳 11 , 而非 正確值 9
沒有錯啊 !
Debug.Print WorksheetFu ...
GBKEE 發表於 2012-10-27 07:05 
其實您說的沒錯.
只是單純地想把 一些 Excel 功能, 直接 套入 VBA 來使用.
例如:
debug.print WorkSheetFunction.Min(range(cells(5,"A") , cells(100, "A"))) ' 傳回 Cells (5 ~ 100 ,"A") 的最小值
debug.print WorkSheetFunction.Min(ary) ' 雖然會傳回 陣列中的最小值, 是否 能夠指定 陣列中 "某一區間" 的最小值
感謝您的回覆.
|
|
|
|
|
|
|
- 帖子
- 67
- 主題
- 8
- 精華
- 0
- 積分
- 78
- 點名
- 0
- 作業系統
- Windows XP
- 軟體版本
- Excel 2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2012-5-15
- 最後登錄
- 2021-9-14
|
回復 3# stillfish00
您的直覺方法,沒有問題.
原先是在想,若有現成的函數可以直接拿來用,整個VBA 程式,會看起來比精簡.
|
|
|
|
|
|
|
- 帖子
- 67
- 主題
- 8
- 精華
- 0
- 積分
- 78
- 點名
- 0
- 作業系統
- Windows XP
- 軟體版本
- Excel 2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2012-5-15
- 最後登錄
- 2021-9-14
|
|
|
|
|
|
|