使用VBA输入盒进行错误处理的奇怪流程?

时间:2017-05-30 17:19:52

标签: vba excel-vba vb6 excel

我试图理解为什么以下代码没有给我预期的行为。

我想问用户一个十进制数字(double)。我有一个错误处理程序,但这个程序的行为方式,当我输入一个单词或数字时,它仍然会抛出错误。当我没有放任何东西(空输入)时,它会发现错误。

当我删除if条件时,它会按预期工作,但我不知道如何捕获空的用户输入。

任何想法都将不胜感激!

Sub MainTask()

Dim userInput As Double

TryAgain:
    On Error GoTo ErrorHandler
    userInput = InputBox("What is the amount purchased you would like to search for? ($)")
    If Len(userInput) = 0 Then
        Exit Sub
    End If
    MsgBox "You have entered a valid value!"
Exit Sub

ErrorHandler:
MsgBox "Please enter a valid value."
GoTo TryAgain

End Sub

1 个答案:

答案 0 :(得分:6)

我不喜欢错误处理,因为它会涵盖其他问题:

final$