ユーザーフォームのテキストボックスの入力可能文字を半角英数だけにする方法

excel-vbaコントロールプロパティ テキストボックス
excel-vbaコントロールプロパティ

スポンサーリンク


オリジナル入力画面が作ることができるユーザーフォームって便利ですよね。

波乗りアヒル
波乗りアヒル

文字入力する為のテキストボックスに電話番号だけ入力するのに、常時半角英数に設定できると変換の手間や半角と全角がごちゃ混ぜにならないので、設定できないものかと思った事ありませんか?

スポンサーリンク


スポンサーリンク

ユーザーフォームのコントロールのプロパティで設定可能

ユーザーフォーム上にテキストボックス(TextBox)を配置すると文字を入力できる枠ができ、何も設定しなくてもすぐに使えます。

文字入力後に普通に変換作業(半角英数やカタカナなど)ができます。

例えば、名前のフリガナを入力するテキストボックスには、最初からカタカナで表示されていれば変換の手間が省けますし、電話番号を入力するテキストボックスには最初から半角英数になっていれば、便利ですよね。

そこで、ユーザーフォームの文字の種類を指定したいテキストボックスを選んでプロパティで文字をあらかじめ指定しておきましょう。

テキストボックスプロパティ

  1. このテキストボックスのプロパティの表示方法は簡単です。文字の種類を指定したいテキストボックス(TextBox)をクリックします
  2. 左下に表示されるテキストボックスのプロパティが表示されます
  3. 中央付近にある【IME Mode】をクリック
  4. ▽が表示されるのでクリック
  5. 【0】~【8】の指定したい文字種類をクリックします

IMEモード
これで、設定が完了します。

波乗りアヒル
波乗りアヒル

IME MODEの指定可能な種類は下記の通りです。

種類(定数)入力文字(内容)
0-fmIMEModeNoControl入力モードを変更しない(既定値)
1-fmIMEModeOnIMEをオンにする
2-fmIMEModeOffIMEをオフにする(英語モードにする)
3-fmIMEModeDisableIMEを使えなくする(キーボード操作できない)
4-fmIMEModeHiraganaひらがなにする
5-fmIMEModeKatakana全角カタカナにする
6-fmIMEModeKatakanaHalf半角カタカナにする
7-fmIMEModeAlphaFull全角英数にする
8-fmIMEModeAlpha半角英数にする

このIMEモードは、ユーザーフォームに配置したテキストボックスひとつひとつそれぞれ個別に設定できるので、住所録などの入力フォームを作った時には設定しておくと、名前などを入力する時にいちいち変換しなくていいのでとても便利で、仕事などの作業効率が上がりました。

VBAコードを記述すれば、当然設定できますが毎回変更が無ければあらかじめプロパティを設定するだけで複雑なコードを書かなくて済むのでとっても便利ですよ!

各コントロールまとめて転記シリーズ

ユーザーフォームを使うと配置したコントロール(テキストボックスやラベルなど)とセルとの間で値のやり取りが多くなります。

よく使うのでまとめてみました。

値の場所転記したい場所説明ページ
セルの値ラベル名VBAコード
セルの値テキストボックスの値VBAコード
セルの値コマンドボタンの表示名VBAコード
セルの値セルの値VBAコード
テキストボックス入力値セルの値VBAコード
波乗りアヒル
波乗りアヒル

成績表作成には知っておきたいExcel-VBAもくじ

ボウリングハンデキャップのつけ方
HDCPの種類はリーグのルールにより複雑に ボウリングの成績表(リーグ戦)で必ず必要になるのが、ハンデキャップ(HDCP)です。 ボウリングご予約の時に一番多く使われているのが、女性にだけハンデキャップをつけてあげることが多いですね。 だいだい何点ぐらいのハンデキャップが多いの?
ボウリングリーグ対戦表の数字を名前に自動変換する方法
リーグ戦の対戦表をエクセルで作る時、数字で表されている番号を名前に自動的に変換できると作業時間が短くなり効率的ですね。たった2つのエクセル関数を使うだけで、簡単にできるんです。今回の回戦数を入力するだけで一発変換完了。もちろんお客様にスケジュール対戦表として渡すことも簡単ですよ。
人数に応じてリーグ対戦表を自動選択する方法
複数の表があり、条件に合った表を選んで、さらにセルの値を選んで数字を名前に自動変換できると、とても便利なエクセルができますよね。ボウリングのリーグ対戦表も人数により表が異なるので、参加人数が決まったら、自動的に表を選んで対戦番号がこれも自動的に参加者名に変換されると便利で作業効率がアップして時間短縮になりますよ。
波乗りアヒル
波乗りアヒル

エクセルの勉強お疲れ様です。ちょっとひと休みしませんか?