2016-12-15 105 views
0

我對程序和VBA非常新穎。我試圖在Access中使用VBA,所以我寫了這個小東西來測試我的理解。然而,當我運行時,它彈出空的宏對話框/窗口,而不是消息框中說的代碼中的東西(我認爲它會)。任何人都可以用5秒讓我知道我錯過了什麼。非常感謝您在Access中運行時出現簡單函數錯誤

Public Function AddOne(value As Integer) As Integer 
AddOne = value + 1 
End Function 
MsgBox "Adding 1 to 5 gives:" & AddOne(5) 
+1

在你的msgbox是數值而指定的地方的實際值的變量? – Rdster

+0

哦,對不起,最後一行應該是&AddOne(5) –

+0

你應該看這個系列:[Excel VBA簡介](https://www.youtube.com/playlist?list=PLNIs-AWhQzckr8Dgmgb3akx_gFMnpxTN5) – 2016-12-15 15:28:37

回答

3

這是不可能Run了一個宏以任何參數/參數從「運行」對話框。

所以,如果你按運行按鈕或F5 ,你會看到對話框,因爲這是Excel的問你「你想要哪個程序運行」。

enter image description here

它會顯示所有可用的程序。採用任何參數的過程將不可見,因爲參數不會被提供。

其他一些要點:

MsgBox語句是功能之外。它應該是功能

Function AddOne(val As Integer) 
    Dim ret As Integer 
    ret = val + 1 
    'Display msgBox: 
    MsgBox "Adding 1 to " & val & " gives:" & ret 
    'return to caller: 
    AddOne = ret 
End Function 

裏面既然你無法從該對話框運行,你需要從Immediate窗口中手動調用此:

enter image description here

或者,你可以簡單地在即時窗格中使用以下內容將結果打印到即時窗口:

?AddOne(5) 

這將在免費中打印「6」。

enter image description here

+1

他可能會每次函數運行時都不希望MsgBox,所以爲了簡單起見,我建議爲MsgBox單獨設置一個Sub。 – Chrismas007

+1

@ Chrismas007我不在乎,這與問題無關,但謝謝。 –

+0

非常感謝!謝謝Chris和David –

相關問題