在excel vba函数中使用数组常量
我有一个在VBA中的types的函数
Function MyFunc(Indx As Integer, k As Long, Rho As Range, A As Range) As Variant .... End Function
在Excel工作表中被称为用户定义的函数。 当最后两个参数是范围调用时
结果= MyFunc(1,98,A1:A2,B1:B2))
它工作正常。 但是,当我尝试直接使用数组常量而不是范围
结果= MyFunc(1,98,{10,11},{20,30})
它返回一个#VALUE错误。
我以为我可以通过重新定义最后两个参数为doubletypes的数组来解决它,但是这也不起作用
Function MyFunc(Indx As Integer, k As Long, Rho() As Double, A() As Double) As Variant .... End Function
有人有一个灵活的解决scheme的build议,这将允许调用方法:通过范围,以及一个数组常量?
你可以声明你的两个参数为Varianttypes,然后在函数中检查使用TypeName(varname)函数传递给它们的内容。
也许你可以在调用函数的时候将数组转换成一个范围对象。
结果= MyFunc(1,98,范围(10,11),范围(20,30))