1.先接收输入的值
2.判断输入的值
2.1判断是否接收参数,防止后续报错。使用StrPtr函数判断是否输入,对于null字符串(vbNullString),StrPtr的返回值为0,而对于空字符串,函数的返回值为非零。(inputbox点击了取消或是直接关闭了窗口就是null)
2.2已接收(大概分三种情况,空字符串,不是数字,是数字但不是正整数)
2.2.1空字符串长度len为0
2.2.2使用IsNumric函数,检测变量是否为数字,是数字和数字字符串则返回 TRUE,否则返回 FALSE
2.2.3为负数或者不是整数,使用int函数和Excel的RoundUp函数,int函数取整(int(3.2)=3),RoundUp向上取零个小数位(RoundUp(3.2,0)=4),如果两个值不相等就是小数
Sub test()
dim examRoomCol
'输入需要的数字
examRoomCol = InputBox("请输考场号所在列?例:14")
If StrPtr(examRoomCol) = 0 Then
MsgBox "点击了取消或是直接关闭了窗口。"
Else
If Len(examRoomCol) = 0 Then
MsgBox "未输入任何值。"
ElseIf IsNumeric(examRoomCol) = False Then
MsgBox "输入不为数字!请输入正整数!"
ElseIf examRoomCol <= 0 Or Application.RoundUp(examRoomCol, 0) <> Int(examRoomCol) Then
MsgBox "输入为小数或负数!请输入正整数!"
Else
'主代码区
End If
End If
End Sub