ユーザーフォームのテキストボックスの初期値を空欄でなく文字にする方法

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

スポンサーリンク


スポンサーリンク


スポンサーリンク

入力漏れによるデータの行ズレを防ぐために

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

やっと完成した住所録なのに、気づいた時にデータが合っていないことありませんか?

住所録などをエクセルで作成する時に当たり前の事なのですが、同じ行に名前・住所・電話番号など入力しますよね。

ユーザーフォームを使ってオリジナルの入力専用フォームを作り、簡単にスピーディーに住所録が作成できるようにしたのですが・・・

エクセル住所録入力フォーム

このような住所録新規入力フォームを使って以下のように使用します。

  1. 各項目を入力後【新規登録】ボタンを押す
  2. 自動的に登録順の通し番号を自動的に付与
  3. エクセルの住所録の各項目のセル最終行を見つけて自動追加する

そこで、空欄があった時はメッセージを表示して入力漏れがある事を知らせるようにしようと考えましたが、問題発生!

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

問題の原因は、全ての項目が記入されているという前提だった事

しかしながら実際には、入会用紙にメールアドレスが全員記入されていない等、未記入の項目があっ

全てのテキストボックスが空欄だったら、メッセージを表示して入力させなというようにしていたので、これでは使い物にならなくなってしまいました。

この為、未記入項目があったら何か適当な文字を入れなくてはいけないということになります。

そう考えると、空欄の時にメッセージを表示するという方法よりも、最初からテキストボックスにプリセットというか初期値というか、何か値が入力されていれば楽になるということになります。
スポンサーリンク


テキストボックスのプロパティを設定

最初は複雑に考えてしまい、ワークシートの適当な場所にセルに値を入れておきその値をテキストボックスに表示させることを考えていましたが、もっと簡単な方法がありました。

テキストボックスプロパティ
ここではテキストボックスの初期値というかプリセットというか、値【0】が自動表示されるようにします

  1. テキストボックスのプロパティの表示方法は簡単です。文字を変更したいテキストボックス(TextBox)をクリックします
  2. 左下にテキストボックスのプロパティが表示されます
  3. TextBoxのプロパティの下の方にある「Value」の値が空欄になっています
  4. 空欄に半角英数のゼロ【0】を入力

こうすると、ユーザーフォームを開いたときにテキストボックスの値が【0】になって表示されています。
心配ご無用
最初から値が入っていいると、いざ入力する時に【0】を消してから入力しなくてはいけないと思いますが、その必要はありません。

ただし、マウスでテキストボックスを選ぶと上書きにならないので削除が必要です。

【Enterキー】を押して次のテキストボックスに移動すれば、上書きされるのでいちいち削除しながら文字入力しなくてもいいのです。

タブオーダーを設定しておけば使い勝手が良く、空欄で行のずれもなくなるので重宝していますよ

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

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

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

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

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

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

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

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

タイトルとURLをコピーしました