gpt4 book ai didi

vba - Byref 参数类型不匹配

转载 作者:行者123 更新时间:2023-12-04 21:10:55 28 4
gpt4 key购买 nike

输入 =Test2(5)将代码放入模块后放入 Excel。为什么这会给我一个 Byref argument type mismatch错误?

如果在 Test2 的开头我做了一行来创建我的数组:
Dim X1(5), X2(5) As Double ,然后它会工作。但是当我使用 b从函数的参数列表中,我必须 ReDim (因为 b 是一个变量,而不是一个常量),这会导致错误。

 Function Test1(a As Double)

Test1 = a * 2

End Function

Function Test2(b As Integer)
Dim X1(), X2() As Double
ReDim X1(b), X2(b) As Double
Dim i As Integer

For i = 0 To b
X1(i) = i
X2(i) = Test1(X1(i))
Next i

Test2 = X2(1)
End Function

最佳答案

这:

Dim X1(), X2() As Double

仅声明 X2()作为双倍, X1()将存储 b 的类型(整数)而不是 b转换为 double (因此防止传递 As Double )。

要使它们都加倍,您必须重复类型声明;
Dim X1() As Double, X2() As Double
ReDim X1(b), X2(b)

这意味着将正确的 double 类型传递给 Test1

关于vba - Byref 参数类型不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12386935/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com