ByRef 参数类型不匹配仅更改声明中的变量位置
ByRef Argument type mismatch on just changing the variable position in declaration
我在VBA中定义了一个函数如下:
Sub TestFunction()
Dim ArrayLength, IDvariable, IDComparisonResult, PreArrayLength As Integer
ReDim NodesArray(0)
PreArrayLength = 0
IDvariable = 0
.
.
Sort PreArrayLength
End Sub
而调用的函数如下:
Sub Sort (PreArrayLength As Integer)
.
.
.
end sub
以上函数运行良好,但如果我将 TestFunction() 中的声明更改为
Dim ArrayLength, IDvariable, PreArrayLength, IDComparisonResult As Integer
我的代码给我一个错误 "ByRef Argument type mismatch" 指示行
Sort PreArrayLength
任何人都可以指出我在声明中犯的错误或理解错误吗?
就这么简单:
Dim ArrayLength As Integer, _
IDvariable As Integer, _
PreArrayLength As Integer, _
IDComparisonResult As Integer
因为当你使用 Dim
时,你必须为每个变量指定它是什么类型,前面的代码声明前三个为 Variant
和 只有最后一个一个为 Integer
!
我在VBA中定义了一个函数如下:
Sub TestFunction()
Dim ArrayLength, IDvariable, IDComparisonResult, PreArrayLength As Integer
ReDim NodesArray(0)
PreArrayLength = 0
IDvariable = 0
.
.
Sort PreArrayLength
End Sub
而调用的函数如下:
Sub Sort (PreArrayLength As Integer)
.
.
.
end sub
以上函数运行良好,但如果我将 TestFunction() 中的声明更改为
Dim ArrayLength, IDvariable, PreArrayLength, IDComparisonResult As Integer
我的代码给我一个错误 "ByRef Argument type mismatch" 指示行
Sort PreArrayLength
任何人都可以指出我在声明中犯的错误或理解错误吗?
就这么简单:
Dim ArrayLength As Integer, _
IDvariable As Integer, _
PreArrayLength As Integer, _
IDComparisonResult As Integer
因为当你使用 Dim
时,你必须为每个变量指定它是什么类型,前面的代码声明前三个为 Variant
和 只有最后一个一个为 Integer
!