[vba输入框的取消维护

问题描述 投票:0回答:1

我正在寻找一种仅当我输入整数1-12时才能通过输入框的方法。其中的任何字符串,双精度值,空或ESCAPE(取消)按钮都将引发Exit Sub

我知道在线有很多精品,我都尝试了!但总是在ESCAPE或其他情况下出现错误。

到目前为止,我已经有了这个,但是在CANCEL上却报错:

dMonth = InputBox("Which month to count?", "Choose month", Format(Date, "m") - 1)
If (Not (Int(dMonth) >= 0 And Int(dMonth) <= 12)) Or StrPtr(dMonth) = 0 Or StrPtr(dMonth) = 698279968 Or dMonth = "" Then Exit Sub

有什么建议或想法吗?

谢谢

vba inputbox
1个回答
0
投票

尝试一下:

Private Sub Command1_Click()
   Dim sMonth As String
   Dim dMonth As Double

   sMonth = InputBox("Which month to count?", "Choose month", Format(Date, "m") - 1)
   dMonth = Val(sMonth)                         'convert user input to numeric
   If dMonth <> Fix(dMonth) Then Exit Sub       'check for an integer
   If dMonth < 1 Or dMonth > 12 Then Exit Sub   'check for required range

   MsgBox sMonth
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.