ユーザーフォームのテキストボックスに数値以外を入れなくするには
0
    おほん!

    今日から昔のじじい言葉はやめた!!

    師範代だから時代劇的な言葉遣いが言いかと思ったが

    とっても疲れるからこれでやめます!



    ということで今日は・・・ユーザーフォームの話ですよ。



    さて、君はユーザーフォームを使ってるか??


    あれは結構難しいが、とっても楽しい・・・と思う。


    それで、ユーザーフォームの中にテキストボックスがあるのだが、

    ここに入れるデーターを数値に限定したい時はどうするか??


    わかるかな??


    テキストボックスのプロパティの中に「IMEMode」というのがあって、
    0 - fmIMEModeNoControl コントロールなし
    1 - fmIMEModeOn 日本語入力オン
    2 - fmIMEModeOff 日本語入力オフ
    3 - fmIMEModeDisable 無効
    4 - fmIMEModeHiragana ひらがな
    5 - fmIMEModeKatakana 半角カタカナ
    6 - fmIMEModeKatakanaHalf 全角カタカナ
    7 - fmIMEModeAlphaFull 全角英数

    と、このように入力を制限できるが、どこにも数値のみがないのである。


    これは弱ったことなのだ。

    実務上では、入力時に数値のみ入れて欲しいというようなケースがかなりある。

    間違えてアルファベッドを入れられると弱る!

    そんな場合が私には多かったのだ。



    そこでどうすればいいか考えた。


    テキストボックスに数値以外を無効にしました。


    標準モジュールに下の構文を貼付て下さい。

    テキストボックスを「TextBox1」としました。

    Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii = vbKeyBack Then Exit Sub
    If Not Chr(KeyAscii) Like "[0-9]" Then
    KeyAscii = 0
    End If
    End Sub


    解説するだけでもかなりのページを割きそうなので省略。

    これで0-9以外のキーとBackSpace、Delete以外のキーは受け付けません。



    ではまた・・
    おまけ動画!
    派祖混蔵のコーナリングを見よ!



    | 派祖混蔵 | プログラムじゃ | 23:38 | comments(1) | trackbacks(0) | - | - |
    管理者の承認待ちコメントです。
    | - | 2018/05/25 12:19 PM |









    http://pcurawaza.meruta.info/trackback/813187