目次
使用環境
- OS:Windows 10 Pro(バージョン:20H2)
- ソフト:Microsoft Excel VBA
経緯
VBAでユーザーフォームを作成し、テキストボックスを設置しました。
このテキストボックスには半角数字だけを入力させたいと考え、
今回、その設定方法について学びました。
解決方法:IMEModeを「8」に設定する
ユーザーフォームのテキストボックスには、「IMEMode」プロパティが用意されています。
これを設定することで、入力モードを制御できます。
手順
- VBAエディターでユーザーフォームを開きます。
- 半角入力を設定したいテキストボックスを選択します。
- 右側のプロパティウィンドウを開きます。
- プロパティ一覧の中から**「IMEMode」**を探します。
- プルダウンリストから**「8 – fmIMEModeAlpha」**を選択します。
この設定により、
そのテキストボックスにフォーカスが当たった瞬間に半角英数入力モードになります。
ポイントまとめ
- 「IMEMode = 8(fmIMEModeAlpha)」を設定すると、半角英数字モードに固定できます。
- 日本語入力(全角)に戻す必要がないため、ユーザーの入力ミス防止にもつながります。
- 完全に数字だけを許可したい場合は、さらにKeyPressイベントで入力制限を加える方法もあります。
まとめ
ユーザーフォームのテキストボックスで半角のみを入力させたい場合は、
- プロパティ「IMEMode」を「8 – fmIMEModeAlpha」に設定する
だけで簡単に実現できます。
入力ルールを事前に整えておくことで、後続のデータ処理もスムーズに進めることができます。
ここまでお読みいただき、誠にありがとうございました。