在Excel中用VBA進行編碼很新穎,我想要做的是有一個Do While循環接受用戶輸入,如果它不是數字或小於0返回一條錯誤消息並重新提示用戶輸入一個值,直到它達到先決條件。我嘗試過幾種方法,但似乎無法弄清楚背後的細節。我的代碼目前看起來像:VBA Excel Do while循環運行時錯誤
Function getQuantity(prompt)
Dim quantity As String
quantity = InputBox(prompt)
Do While quantity < 0
If Not IsNumeric(quantity) Then
MsgBox ("Incorrect Value, Numbers Only Please!")
quantity = InputBox(prompt)
End If
Loop
End Function
當寫這樣我得到運行時錯誤。
如果我只是用:
Function getQuantity(prompt)
Dim quantity As String
quantity = InputBox(prompt)
If Not IsNumeric(quantity) Then
MsgBox ("Incorrect Value, Numbers Only Please!")
quantity = InputBox(prompt)
End If
End Function
這一點,它做什麼,我想,除了它只能重新提示繼續之前曾經因爲它不是在一個循環。基本上我希望它循環,直到它得到一個0或更大的數字,並顯示錯誤消息並重新提示用戶,直到發生這種情況。
在此先感謝您的幫助!
「當這樣寫時,我得到運行時錯誤。」如果只是有一種方式,我們可以看到這些錯誤...掛在秒,我只是有一個想法 - 你可以***發佈他們與你的問題!! *** :-)在任何情況下,在檢查它是否爲數字之前執行'Do While quantity <0' * *可能不起作用。 – paxdiablo