テキストボックスの数値入力値チェック
数値を入力するテキストボックスは、まず KeyPress イベントで数値のみ入力できるようにしておくと、余計な文字が入力されていないかチェックする必要がなくなるため、いいかと思います。
数値の範囲は、 LostFocus イベントでチェックし、範囲外ならメッセージを表示し、テキストボックスにフォーカスを戻します。
下記のコードには入れていませんが、ロング型を超える数値が入力された場合エラーとなってしまうので、On Error を使った方がさらに安全です。
Homeに戻る >
Excel テキストボックスのTipsへ
設定例
Option Explicit
'整数のみ入力
Public Function KeyInputVal(Key) As Integer
If Key <> 8 Then
If (Key < 48 Or Key > 57) Then
Key = 0
End If
End If
KeyInputVal = Key
End Function
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'整数のみ入力
KeyAscii = KeyInputVal(KeyAscii)
End Sub
Private Sub TextBox1_LostFocus()
Dim n As Long
If TextBox1.Text = "" Then
Exit Sub
End If
n = Val(TextBox1.Text)
'入力範囲のチェック
If n < 0 Or n > 50000 Then
MsgBox "価格は0~5000円の範囲で入力してください。"
'フォーカスを移す
TextBox1.Activate
End If
End Sub
Homeに戻る >
Excel テキストボックスのTipsへ
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します
Copyright (c) Excel-Excel ! All rights reserved