VBA·编译错误:ByRef参数类型不符 | 您所在的位置:网站首页 › vba编译错误缺少表达式怎么解决 › VBA·编译错误:ByRef参数类型不符 |
阅文时长| 0.34分钟字数统计| 550.4字符主要内容| 1、引言&背景 2、分析&解决原理 3、声明与参考资料 『VBA·编译错误:ByRef参数类型不符』编写人| SCscHero 编写时间| 2021/8/19 AM12:3文章类型| 系列完成度| 已完成座右铭每一个伟大的事业,都有一个微不足道的开始。
一、引言&背景 完成度:100%
a) 应对问题
博主在Word VBA中今天写代码的时候,发现报了个编译的错误,如下图。检查了一下参数应该是正确的。 ![]() 通过第二章节的理解,在调用有参Function或Sub之前,再使用Dim关键字声明一个临时变量接收,使用此临时变量传参即可。 二、分析&解决原理 完成度:100% a) Dim的使用理解在Google了一下后,博主发现问题出在调用有参的Function或者Sub的时候,传入的参数一定是需要使用Dim关键字声明类型的。先说下Dim声明关键字类型的一个坑。以下为三种声明多变量的常用写法。 '写法1:多行分别声明变量 Dim strV1 As String Dim strV2 As String Dim strV3 As String '写法2:单行声明变量,单独声明类型 Dim strV1 As String,strV2 As String,strV3 As String '【有隐患】写法3:单行声明变量,只声明一个类型 Dim strV1,strV2,strV3 As String此三种写法,前两种是等价的。但第三种,实际上strV1,strV2没有被声明变量。 b) 误区开始学习VBA的时候,对VBA中一些非对象的数据类型,可以直接声明,可以省略Dim声明。写法也习惯了,没意识到这个错误。但即使是非对象数据类型String,在调用之前也是需要声明的。 三、声明与参考资料 完成度:100%原创博文,未经许可请勿转载。 如有帮助,欢迎点赞、收藏、关注。如有问题,请评论留言!如需与博主联系的,直接博客私信SCscHero即可。 |
CopyRight 2018-2019 实验室设备网 版权所有 |