码迷,mamicode.com
首页 > 其他好文 > 详细

VBA自定义函数参数类型不符的错误

时间:2014-07-06 10:45:44      阅读:399      评论:0      收藏:0      [点我收藏+]

标签:style   os   问题   cti   io   new   

作者: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?


VBA自定义函数参数类型不符的错误,布布扣,bubuko.com

VBA自定义函数参数类型不符的错误

标签:style   os   问题   cti   io   new   

原文地址:http://blog.csdn.net/iamlaosong/article/details/36871769

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!