c語言返回值可不可以是數組 VBA自定義函數的返回值能是數組嗎?
VBA自定義函數的返回值能是數組嗎?可以的。要點有兩個:一是在自定義函數中定義一個數組來存放相關值,如dim a(2),然后對其賦值:a(1)=5,a(2)=10,并將數組值賦給函數。第二個要點是如何
VBA自定義函數的返回值能是數組嗎?
可以的。要點有兩個:一是在自定義函數中定義一個數組來存放相關值,如dim a(2),然后對其賦值:a(1)=5,a(2)=10,并將數組值賦給函數。第二個要點是如何調用。調用時,需定義一個變體變量,如 dim c As Variant。假設自定義函數的函數名是 d,則調用可寫作c=d(相應參數)這時,c(1)=5,c(2)=10
VBA自定義函數的返回值能是數組嗎?
當我們使用Excel的內置函數來返回某個值時,如果參數不對,或是找不到,往往會返回#N/A 或者 #Value!等提示信息。
我們在模塊中自己編寫的VBA代碼是否也能返回這些信息呢?
答案是肯定的,因為模塊中的代碼本身就可以在公式里調用,那么自然也可以返回這些信息了。
但是,很重要的一點是,這些信息不是文本,而是內置的錯誤值!
下表給出了一些常用的錯誤值供參考:
Constant Error Number Cell error value
xlErrDiv0 2007 #DIV/0!
xlErrNA 2042 #N/A
xlErrName 2029 #NAME?
xlErrNull 2000 #NULL!
xlErrNum 2036 #NUM!
xlErrRef 2023 #REF!
xlErrValue 2015 #VALUE!
通過調用CVErr(error constant)來返回值,這樣在界面上看到的就是我們要顯示的錯誤值了。
例如:
CVErr(xlErrValue)
vba function返回值為數組怎么接收?
假定有如下自定義函數
Function mm()
mm = Array(1, 2, 3, 4, 5)
End Function
若要同時返回mm的所有值的話,選中A1:E1,輸入=mm()然后Ctrl Shift 回車結束
也可以用index函數,來從mm()返回的數組中取值,如
=index(mm(),3)
也可以對mm返回的數組進行求和,如
=sum(mm())
也可以對求極值求均值。。。。。。。。。也可以。。。。