|
▼初心者です さん:
実は、私の本当の提案は Change もやめて BeforeUpdate 一本なんですが
入力した瞬間にチェックしたいということでしょうから、Change「も」加えたものです。
で、やはり KeyPress でいきたいということなら、CHange も BefreUpdateもやめて
KeyPress一本で、以下のようにされてもよろしいかと。
Private Sub test_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Dim er As Boolean
If Chr$(KeyAscii.Value) = "." Then
If InStr(test.Value, ".") > 0 Then
MsgBox "ピリオドを2つ使ってはいけません"
er = True
End If
ElseIf Chr$(KeyAscii.Value) Like "[!0-9]" Then
MsgBox "入力は、半角数字で入力してください。"
er = True
End If
If er Then KeyAscii.Value = 0
End Sub
|
|