当前位置:  开发笔记 > 后端 > 正文

VBA变量声明在两行上没问题但在逗号分隔时没有.编译错误?

如何解决《VBA变量声明在两行上没问题但在逗号分隔时没有.编译错误?》经验,为你挑选了1个好方法。

我在一个工作正常的过程中有以下变量声明.

Dim table_rng As Range
Dim attachments_rng As Range

我确实有:

Dim table_rng, attachments_rng As Range

但是这导致了"编译错误:ByRef参数类型不匹配".

由于我有工作代码我没有陷入危机,但我浪费了一个小时才找到这个解决方案.

我正在使用Excel 2010与Visual Basic for Applications 7.0.1628

据我所知,第二个声明在语法上是正确的.我错过了什么吗?我在网上和stackoverflow.com上徒劳无功地搜索了这个主题的任何智慧.

提前致谢.



1> Luboš Suk..:

那么,请看一下VBA编辑器.第一个语句似乎声明了3个整数,但没有.变量ij变量,只是k整数.

因此,如果你查看你的代码,table_rng被声明为变体/空,也许这是导致问题的原因,但没有你的代码,我不能告诉你更多.

但我建议你在线使用单变量声明,它更容易阅读.或者,如果您想在单行上声明更多变量,则需要为每个变量指定日期类型(如我示例中的最后一行.如果您想知道变量类型,请在VBA和View/Locals窗口中使用调试).

Sub testVarDeclar()

    Dim i, j, k As Integer

    Dim a As Integer, b As Integer

    Dim table_rng, attachments_rng As Range

    Dim table_rng2 As Range, attachments_rng2 As Range
End Sub

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有