質問: VBAのフォーム画面にコンボボックスを設置しました。 コンボボックスでは半角数字のみを扱います 以下のことを実行するにはどのように記述すればよろしいでしょうか? 1入力欄を半角数字のみ入力できるようにする 2入力された文字を取得する ※ちなみに、セルをコンボボックス化するのではなくて、Form画面に設置しているコンボボックスに対して処理を行います。 回答時にお間違いのないようにお願いします。 使用しているExcelのVerは、2010です
回答: ・入力内容の取得方法 ⇒コンボボックス名.Textプロパティで参照できます。 ・数値のみに入力制限したい ⇒1コンボボックスのIME制御プロパティ(IMEMode)をIMEオフに設定する。(これで半角入力のみになる) ⇒2コンボボックスのKeyPressイベントで0~9以外の入力を無視(KeyAscii=0)する(これでアルファベット入力が無効化される) 以上により実現可能です。 細かなことを言うとそれだけではコピペなどで文字列も入力できてしまいますが、それも少し工夫すれば回避できます。 いずれもここで回答を待つよりWeb検索で調べたほうが早い内容だと思います。 例えば「VBA コンボボックス 数値のみ入力」でググれば、たくさんヒントが見つかります。 たくさんのヒントの中からどの情報を拾い上げるか?というところが大事なので、がんばって検索技術も身につけてみてください。 もうひとつ余談ですが、 冒頭に「VBAのフォーム画面にコンボボックスを設置しました。」と記述いただいていますので、 最後のほうの「ちなみに・・・お間違えのないようにお願いします」のくだりはちょっと余分かな?と思いました。 親切心からの念押しだと思いますが、受け取り方によっては癇に障るので。。 丸投げはもちろんですが、質問する側・される側に関わらず文面がエラそうに見えてしまうとマイナス評価が付きやすいと思います。 今後の投稿時には気にとめていただければ幸いです。