| Menuへ | ||||||
| テキストボックスの数値入力値チェック | ||||||
数値を入力するテキストボックスは、まず KeyPress イベントで数値のみ入力できるようにしておくと、余計な文字が入力されていないかチェックする必要がなくなるため、いいかと思います。 数値の範囲は、 LostFocus イベントでチェックし、範囲外ならメッセージを表示し、テキストボックスにフォーカスを戻します。 下記のコードには入れていませんが、ロング型を超える数値が入力された場合エラーとなってしまうので、On Error を使った方がさらに安全です。 |
||||||
| 設定例 | ||||||
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
|
||||||
|
|
||||||
| Topへ | ||||||
|
|