ユーザーフォームのテキストボックスの初期値を空欄でなく文字にする方法
入力漏れによるデータの行ズレを防ぐために
やっと完成した住所録なのに、気づいた時にデータが合っていないことありませんか?
住所録などをエクセルで作成する時に当たり前の事なのですが、同じ行に名前・住所・電話番号など入力しますよね。
ユーザーフォームを使ってオリジナルの入力専用フォームを作り、簡単にスピーディーに住所録が作成できるようにしたのですが・・・
このような住所録新規入力フォームを使って以下のように使用します。
- 各項目を入力後【新規登録】ボタンを押す
- 自動的に登録順の通し番号を自動的に付与
- エクセルの住所録の各項目のセル最終行を見つけて自動追加する
そこで、空欄があった時はメッセージを表示して入力漏れがある事を知らせるようにしようと考えましたが、問題発生!
問題の原因は、全ての項目が記入されているという前提だった事
しかしながら実際には、入会用紙にメールアドレスが全員記入されていない等、未記入の項目があっ
全てのテキストボックスが空欄だったら、メッセージを表示して入力させなというようにしていたので、これでは使い物にならなくなってしまいました。
この為、未記入項目があったら何か適当な文字を入れなくてはいけないということになります。
そう考えると、空欄の時にメッセージを表示するという方法よりも、最初からテキストボックスにプリセットというか初期値というか、何か値が入力されていれば楽になるということになります。
スポンサーリンク
テキストボックスのプロパティを設定
最初は複雑に考えてしまい、ワークシートの適当な場所にセルに値を入れておきその値をテキストボックスに表示させることを考えていましたが、もっと簡単な方法がありました。
ここではテキストボックスの初期値というかプリセットというか、値【0】が自動表示されるようにします
- テキストボックスのプロパティの表示方法は簡単です。文字を変更したいテキストボックス(TextBox)をクリックします
- 左下にテキストボックスのプロパティが表示されます
- TextBoxのプロパティの下の方にある「Value」の値が空欄になっています
- 空欄に半角英数のゼロ【0】を入力
こうすると、ユーザーフォームを開いたときにテキストボックスの値が【0】になって表示されています。
心配ご無用
最初から値が入っていいると、いざ入力する時に【0】を消してから入力しなくてはいけないと思いますが、その必要はありません。
ただし、マウスでテキストボックスを選ぶと上書きにならないので削除が必要です。
【Enterキー】を押して次のテキストボックスに移動すれば、上書きされるのでいちいち削除しながら文字入力しなくてもいいのです。
タブオーダーを設定しておけば使い勝手が良く、空欄で行のずれもなくなるので重宝していますよ
VBAコードを記述すれば、当然設定できますが毎回変更が無ければあらかじめプロパティを設定するだけで複雑なコードを書かなくて済むのでとっても便利。
ユーザーフォームでオリジナル入力画面を作る為に、この3つさえあれば、簡単なオリジナル入力画面を作ることができますので、使用例や活用例をまとめています。