|
UO3さん、迅速なアドバイスまことにありがとうございます。
書いていただいたプログラムの内容を1から教えていただきたいという願望もありつつ(笑
本題へ移らせていただきます。
以下のようにコードをとりあえずつなげてみて動かしてみました。
Private Sub test_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Chr$(KeyAscii.Value) Like "[!0-9.]" Then
MsgBox "入力は、半角数字で入力してください。"
KeyAscii.Value = 0
End If
End Sub
Private Sub test_Change()
CheckError test.Value
End Sub
Private Sub test_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = CheckError(test.Value)
End Sub
Private Function CheckError(s As String) As Boolean
If Len(s) = 0 Then Exit Function '空白
If Not IsNumeric(s) Then
MsgBox "小数点が重複しています。"
CheckError = True
End If
End Function
すると、テキストボックスで小数点を2回以上入力するとメッセージがでて、正しい入力を催促できるようになりました。
ありがとうございます。
さらになのですが・・・
小数点を2回以上入力するとエラーがでて次に進めなくなるのですが、テキストボックス上に小数点がそのまま入力されてしまいます。
エラーを出しつつ、2回目からの小数点入力を無効にしたりできるのでしょうか?
|
|