返回列表 上一主題 發帖

VBA & WorkSheetFunction.min 調出陣列極小值

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)))
    但卻無法適合於大型陣列中.
    是否有其他的寫法, 調中一維陣列中, 某一區段的極小值 ?

回復  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) ' 雖然會傳回 陣列中的最小值, 是否 能夠指定 陣列中 "某一區間" 的最小值

   感謝您的回覆.

TOP

回復 3# stillfish00


    您的直覺方法,沒有問題.
 原先是在想,若有現成的函數可以直接拿來用,整個VBA 程式,會看起來比精簡.

TOP

回復 6# GBKEE

     感謝您花時間回覆,感恩~

TOP

        靜思自在 : 有心就有福,有願就有力,自造福田,自得福緣。
返回列表 上一主題