最近在做交易模型退出策略的检验编程,当用到vba函数调用时,老是出现'ByRef参数类型不符'的问题,导致函数无法运行;经过搜索,发现
1、ByRef参数类型不符问题描述:
sub main()
dim a, b as double
dim c as
double
c=test(a,b)
end sub
function test(aa as double, bb as double)
test=1
end function
2、问题产生原因如下:
Dim a, b As Integer
以上定义变量a被定义为variant型,b则被定义为integer型,在vba中定义变量时如变量名后无 as 类型,则统统被定义为variant型,在你的例子中就会出现类型不符的错误,
正确的命名方法是
dim a as integer,b as integer
或
dim a as integer
1、ByRef参数类型不符问题描述:
sub main()
end sub
function test(aa as double, bb as double)
end function
2、问题产生原因如下:
Dim a, b As Integer
以上定义变量a被定义为variant型,b则被定义为integer型,在vba中定义变量时如变量名后无 as 类型,则统统被定义为variant型,在你的例子中就会出现类型不符的错误,
正确的命名方法是
dim a as integer,b as integer
或
dim a as integer
