目次
ユーザーフォームで楽々入力
こんにちは。伊川(@naonaoke)です。
今回は、ユーザーフォームの作成方法について紹介します。
ユーザーフォームは、入力を楽にすることだけではありません。
ユーザーフォームに様々なVBAを仕込むことで、色々な処理ができるようになります。
問題提起

・データ入力を行うときに、入力漏れが多い。
・データ入力の漏れが内容にしてほしい。
どのような方法がいいだろうか?
解決策
回答

・ユーザーフォームを作成して、入力をカンタンにする。
ユーザーフォームを作成する
作成手順 その1 実際のユーザーフォームを確認する
上の図のようなユーザーフォームを作成します。
「開発タブ」⇒「Visual Basic」を選択します。
「挿入」⇒「ユーザーフォーム」を選択します。
ユーザーフォームの原形が完成しました。
作成手順 その2 原形のユーザーフォームを装飾する
今回は、このラベル、テキストボックス、コンボボックスを使って装飾します。
上の図のようにラベル、テキストボックスを配置します。
作成手順 その3 文字の大きさを装飾する
Fontで、文字の大きさ、文字の種類を決めることができます。
作成手順 その4 コンボボックスを作成する。
店舗と客性別が、コンボボックスになっています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Private Sub UserForm_Initialize() With ComboBox1 .AddItem "渋谷" .AddItem "新宿" .AddItem "池袋" .AddItem "銀座" .AddItem "六本木" End With With ComboBox2 .AddItem "男性" .AddItem "女性" End With End Sub |
ユーザーフォームや、VBAでコンボボックスを作成するのは、結構面倒です。
作成手順 その5 登録ボタンに、VBAを仕込んで、WorkSheetへ反映させる
詳しくは、上の記事を参照してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Private Sub CommandButton3_Click() With Cells(Rows.Count, 1).End(xlUp) .Offset(1, 0) = TextBox1 .Offset(1, 1) = ComboBox1 .Offset(1, 2) = TextBox2 .Offset(1, 3) = TextBox3 .Offset(1, 4) = TextBox4 .Offset(1, 5) = TextBox5 .Offset(1, 6) = TextBox6 .Offset(1, 7) = ComboBox2 .Offset(1, 8) = TextBox7 .Offset(1, 9) = TextBox8 End With Unload UserForm1 End Sub |
これで、完成です。
ここがポイント
ここがポイント

Excelのユーザーフォームを作成するのは、ACCESSのフォーム作成より面倒です。しかし、汎用性があるので使いこなすと便利です。
まとめ
今回のまとめ

ユーザーフォームを作成すると、入力漏れを無くすことができます。それほど難しくはないので、ぜひみなさんのスキルにしてください。
今回のサンプルファイルは、No46です。
毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。