将两个结果传递给子另一个子

时间:2015-11-11 10:52:01

标签: excel vba

我正在尝试将xy的结果从子returnIntegerAndBoolean传递到子testing1

在这种情况下,用户可以运行子testing1并返回结果“4true”,但这不起作用:

Public Sub returnIntegerAndBoolean(ByRef x As Integer, Byref y As Boolean)

x = 2
x = x + 2

If x > 5 Then
  y = False
Else
  y = True
End If

End Sub

Sub testing1()

Dim a As Integer
Dim b As Boolean

returnIntegerAndBoolean a = x, b = y
MsgBox a & b

End Sub  

有人可以看一下吗?

1 个答案:

答案 0 :(得分:2)

您的调用语法不正确,您传递了评估结果(等于x)并从bool中获取令人讨厌的自动转换而不是类型错误。

而不是:

returnIntegerAndBoolean a = x, b = y

使用:

returnIntegerAndBoolean a, b

或者如果您想记下参数:

returnIntegerAndBoolean x:=a, y:=b