質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

1回答

5878閲覧

VBAのコンボボックスの入力について

Yoshikun_0945

総合スコア224

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2017/04/10 02:45

編集2017/04/10 04:03

#実現したいこと
VBAのフォーム画面にコンボボックスを設置しました。
コンボボックスでは半角数字のみを扱います

以下のことを実行するにはどのように記述すればよろしいでしょうか?
①入力欄を半角数字のみ入力できるようにする
②入力された文字を取得する

※ちなみに、セルをコンボボックス化するのではなくて、Form画面に設置しているコンボボックスに対して処理を行います。
回答時にお間違いのないようにお願いします。

使用しているExcelのVerは、2010です

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2017/04/10 03:30

質問をどうぞ。
guest

回答1

0

・入力内容の取得方法
⇒コンボボックス名.Textプロパティで参照できます。

・数値のみに入力制限したい
⇒①コンボボックスのIME制御プロパティ(IMEMode)をIMEオフに設定する。(これで半角入力のみになる)
⇒②コンボボックスのKeyPressイベントで0~9以外の入力を無視(KeyAscii=0)する(これでアルファベット入力が無効化される)
以上により実現可能です。
細かなことを言うとそれだけではコピペなどで文字列も入力できてしまいますが、それも少し工夫すれば回避できます。


いずれもここで回答を待つよりWeb検索で調べたほうが早い内容だと思います。

例えば「VBA コンボボックス 数値のみ入力」でググれば、たくさんヒントが見つかります。
たくさんのヒントの中からどの情報を拾い上げるか?というところが大事なので、がんばって検索技術も身につけてみてください。


もうひとつ余談ですが、
冒頭に「VBAのフォーム画面にコンボボックスを設置しました。」と記述いただいていますので、
最後のほうの「ちなみに・・・お間違えのないようにお願いします」のくだりはちょっと余分かな?と思いました。
親切心からの念押しだと思いますが、受け取り方によっては癇に障るので。。

丸投げはもちろんですが、質問する側・される側に関わらず文面がエラそうに見えてしまうとマイナス評価が付きやすいと思います。
今後の投稿時には気にとめていただければ幸いです。

投稿2017/04/10 07:10

jawa

総合スコア3013

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問