1
我使用VBA爲Microsoft Excel 2007年我的代碼如下:VBA:IF語句中的意外行爲。
Sub First()
End Sub
Function Two() As Boolean
End Function
Sub Sun()
If (Two()) Then
First()
End If
End Sub
什麼是錯的代碼?爲什麼不編譯?
我不能在IF
聲明中使用subs?這是VBA的magic嗎?我該如何解決這個問題?
謝謝!如果'First(arg as Variant)'我必須寫'First arg',是嗎? – gaussblurinc
@loldop - 我認爲是。 VBA有一些奇怪的爭論要求。如果子/函數返回一個值,並且該值被放置在一個變量中,則括號是必需的。如果沒有返回值,則必須省略括號。 – ken
這是Rick Rothstein的一個很好的圓括號。 http://www.dailydoseofexcel.com/archives/2012/05/01/quick-vba-tip-parentheses/#comment-79416 –