投稿者 ワシズ  (社会人) 投稿日時 2009/8/20 23:08:03
?_?さん、るしぇさん

アドバイスありがとうございます。

書き方が思いっきり間違っているようなので、恥ずかしいです。
今後、理解を深め、このような恥ずかしいコーディングはしないように
気をつけます。

流れ者さん
アドバイスありがとうございます。

>>(Len(Text1.Text) >= 4 And KeyAscii <> vbKeyBack + vbKeyDecimal)
>この場合、既に4桁入力されているので、バックスペースのみ許可すれば良いのでは?
>それとも、4桁目に小数点を入れる特殊な操作があるのですか。 

4桁目に小数点を入れる特殊な操作はございません。
ただ、テキストボックスを4桁入力に制限したいかったので。
このテキストボックスは、主に5.5、8.4、11.0
といった数字(小数点含)が4桁入力できるテキストボックスです。

アドバイスしていただき、下記のようにコーディングして見ましたが、
半角数字、バックスペースは有効になったのですが、「る」(半角小数点、テンキー「.」が入力されません。
今現在、このテキストボックスには特にプロパティ設定はしておりません。

Private Sub Text1_KeyPress(KeyAscii As Integer)

   '「1-9」[BackSpace]以外の入力はじき、5桁以上は入力不可 
    If Not IsNumeric(Chr$(KeyAscii)) And KeyAscii <> vbKeyBack And KeyAscii <> vbKeyDecimal Or _
       (Len(Text1.Text) >= 4 And KeyAscii <> vbKeyBack And KeyAscii <> vbKeyDecimal) Then
        KeyAscii = 0
    Else
        '全角を半角に変換する 
        KeyAscii = Asc(StrConv(Chr$(KeyAscii), vbNarrow))
    End If
End Sub


お手数おかけしますが、アドバイスお願いいたします。