c數(shù)組作為返回值 VBA自定義函數(shù)的返回值能是數(shù)組嗎?
VBA自定義函數(shù)的返回值能是數(shù)組嗎?是的。主要有兩點:一是在自定義函數(shù)中定義一個數(shù)組來存儲相關值,如dim a(2),然后賦值:a(1)=5,a(2)=10,并將數(shù)組值賦給函數(shù)。第二點是如何打電話。調(diào)
VBA自定義函數(shù)的返回值能是數(shù)組嗎?
是的。主要有兩點:一是在自定義函數(shù)中定義一個數(shù)組來存儲相關值,如dim a(2),然后賦值:a(1)=5,a(2)=10,并將數(shù)組值賦給函數(shù)。第二點是如何打電話。調(diào)用時,需要定義一個variant變量,例如dim C as variant。假設用戶定義函數(shù)的函數(shù)名為D,則調(diào)用可以寫入C=D(對應的參數(shù))。在這種情況下,C(1)=5,C(2)=10
當我們使用Excel的內(nèi)置函數(shù)返回一個值時,如果參數(shù)錯誤或找不到,我們通常會返回提示信息,如#n/a或#value。
我們在模塊中編寫的VBA代碼是否也能返回此信息?
答案是肯定的,因為模塊本身中的代碼可以在公式中調(diào)用,因此自然也可以返回這些信息。
但是,重要的是信息不是文本,而是內(nèi)置的錯誤值
!下表給出了一些常見的錯誤值供參考:
常量錯誤數(shù)單元格錯誤值
xlerrdiv0 2007#div/0
!xlerrna 2042#不適用
xlerrname 2029#名稱?
xlerrnull 2000#null
!xlerrnum 2036#num
!XLERRRREF 2023#ref
!XlerValue 2015#價值
!通過調(diào)用cverr(error)Constant)返回值,這樣我們在界面上看到的就是要顯示的錯誤值。
例如:
cverr(xlerrvalue)