excel vba:检查输入框中的负数

时间:2011-11-29 08:28:26

标签: excel vba inputbox negative-number

我正在使用输入框从用户那里获取一个数字。我想避免不允许输入,并且卡住负数。应该处理的唯一输入是1到500之间的整数。我不明白为什么-1仍然被触发。到目前为止,这是我的代码:

LBefore = InputBox("lines?", "", ">>> insert number <<<", 11660, 9540)

Select Case StrPtr(LBefore)
  Case 0
    'Cancel pressed
    Exit Sub
  Case Else

    If (LBefore <> "") Then
    'Check for numeretical value
       If IsNumeric(LBefore) Then
             cijfer = Abs(CByte(LBefore))
               'Check to see if value is in allowed range
                If (cijfer >= 1) And (cijfer <= 500) Then
                   'do stuff ...
                end If
       End If
     End If
   End Select

1 个答案:

答案 0 :(得分:3)

因为您使用cijfer = Abs(CByte(LBefore))而触发了它 Abs是绝对函数,因此负数变为正数! 尝试使用cijfer = CInt(LBefore)