【VBA】ユーザーフォームのテキストボックスを半角入力専用にする方法|IMEModeプロパティの設定

目次

使用環境

  • OS:Windows 10 Pro(バージョン:20H2)
  • ソフト:Microsoft Excel VBA

経緯

VBAでユーザーフォームを作成し、テキストボックスを設置しました。
このテキストボックスには半角数字だけを入力させたいと考え、
今回、その設定方法について学びました。

解決方法:IMEModeを「8」に設定する

ユーザーフォームのテキストボックスには、「IMEMode」プロパティが用意されています。
これを設定することで、入力モードを制御できます。

手順

  1. VBAエディターでユーザーフォームを開きます。
  2. 半角入力を設定したいテキストボックスを選択します。
  3. 右側のプロパティウィンドウを開きます。
  4. プロパティ一覧の中から**「IMEMode」**を探します。
  5. プルダウンリストから**「8 – fmIMEModeAlpha」**を選択します。

この設定により、
そのテキストボックスにフォーカスが当たった瞬間に半角英数入力モードになります。


ポイントまとめ

  • 「IMEMode = 8(fmIMEModeAlpha)」を設定すると、半角英数字モードに固定できます。
  • 日本語入力(全角)に戻す必要がないため、ユーザーの入力ミス防止にもつながります。
  • 完全に数字だけを許可したい場合は、さらにKeyPressイベントで入力制限を加える方法もあります。

まとめ

ユーザーフォームのテキストボックスで半角のみを入力させたい場合は、

  • プロパティ「IMEMode」を「8 – fmIMEModeAlpha」に設定する

だけで簡単に実現できます。

入力ルールを事前に整えておくことで、後続のデータ処理もスムーズに進めることができます。

ここまでお読みいただき、誠にありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次