加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

vba中的“ByRef参数类型不符”问题

(2012-05-17 22:48:47)
标签:

vba

byref

参数类型

it

分类: 信息科技
最近在做交易模型退出策略的检验编程,当用到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
dim b as integer

3、修改方案
修改成以下代码便可以执行
sub main()
     dim a as double 
     dim  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

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有