首页 > 代码库 > VBA自定义函数参数类型不符的错误
VBA自定义函数参数类型不符的错误
作者:iamlaosong
1、问题提出
编程中发现一个问题,系统总是提示编译错误,ByRef 参数类型不符,
可实际上参数定义没问题,原因在哪儿呢?
2、问题环境
假定函数定义如下:
Function get_kind(addr As String) As Integer
......
End Function
调用过程:
Sub check_address()
Dim addr, new_addr(10000) As String
......
addr = new_addr(i)
......
kk = get_kind(addr)
......
End Sub
3、问题原因
addr赋值后类型就不对了,虽然都是字符串,数组变量和单个变量不一样,编译系统就是报错。
找到原因问题就容易解决了:
方法一:强制转换,用Cstr(addr)
方法二:换个变量,先赋值myaddr=addr,再调用kk = get_kind(myaddr)
4、问题扩展
其它类型数组也存在同样的问题,这算不算是个BUG?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。