VBA:IF语句中意外的行为。

我正在使用Microsoft Excel 2007的VBA。我的代码如下所示:

Sub First() End Sub Function Two() As Boolean End Function Sub Sun() If (Two()) Then First() End If End Sub 

这段代码有什么问题? 为什么不能编译?

IF语句中不能使用subs? 这是VBA的魔力吗? 我怎么能或应该解决这个问题?

尝试从调用First删除括号。

 Sub First() End Sub Function Two() As Boolean End Function Sub Sun() If (Two()) Then First End If End Sub 

这编译:

 Sub First() End Sub Function Two() As Boolean End Function Sub Sun() If (Two()) Then First End If End Sub 

您需要从您的First电话中删除括号。