テキストボックスに数字のみ入力許可する
【サンプル1】
 テキストボックス「TextBox1」のプロパティでIMEModeを [2-fmIMEModeOff] に設定
します。
 Changeイベントに次の処理を記述します。

Private Sub TextBox1_Change()

    If Len(TextBox1.Text) = 0 Then
        '何も入力されていない状態
        Exit Sub
    End If
    
    If IsNumeric(Right(TextBox1.Text, 1)) = True Then
        '一番右端の1文字が数字の場合
        Exit Sub
    End If
    
    TextBox1.Text = Left(TextBox1.Text, Len(TextBox1.Text) - 1)
    
End Sub

 TextBox1に変更があったとき、一番右端の1文字が数字かどうか判断して
 数字なら何もしない、数字以外は一番右端の1文字を削るようにしています。

【サンプル2】
 テキストボックスのキープレスイベントのプロシージャです。
 Chr(KeyAscii) で、入力した文字コードに対応する値を返しています。
 返ってきた値が、0から9の間だったら、有効、それ以外だったら
無効にします。
 KeyAscii=0の0に割り当てられている文字はありませんので、
何も入力されない、すなわちキー入力が無効になります。

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

    If Chr(KeyAscii) < "0" Or Chr(KeyAscii) > "9" Then
        KeyAscii = 0
    End If
    
End Sub


Excel97/2000



戻る


Excel Word Access VBA! モーグ