【发布时间】:2016-07-13 00:17:43
【问题描述】:
当我尝试调用我创建的函数时遇到类型不匹配错误。
例子:
Function DoThis(paramA, paramB, paramC)
If paramA = "Something" Then
DoThis = DoSomething
ElseIf paramA = "This" Then
DoThis = DoSomethingDifferent
Else
DoThis = DoThisOtherThing
End If
End Function
Dim result: result = DoThis(valueA, ValueB, ValueC)
谁能看出我的错误是什么?其他功能正常工作。我通过实际复制并粘贴我调用它的函数名称来仔细检查拼写。我已经验证了函数名称没有在其他任何地方使用,即作为常量或其他东西。
请注意,在调试时,所有参数的 ValType 都是 vbString。另外我永远无法进入该函数,所以它不像我在调试该函数,输入它然后得到类型不匹配。
ty.
【问题讨论】:
-
类型不匹配错误:您试图比较不兼容数据类型的值。例如,比较字符串和数值。 更正此错误: +++在执行比较时确保数据类型匹配。 +++将其中一个值转换为另一个值的数据类型,然后再次尝试比较。
EndIf应该是End If -
EndIf应该是End If。那么代码在语法上是正确的;该错误是由您未发布的代码引起的。 -
请注意,以上只是伪代码,以降低复杂性。是的,当我第一次输入这个时,我有一个错字。我现有的代码类似于伪代码,但这只是为了说明该函数返回一个值并且该函数涉及决策路径。
-
@JosefZ,谢谢。在调试时,我确实确认提供给该方法的所有值类型都是 vbString 类型。