Excelでは、アプリケーションの入力インターフェースとしてユーザーフォームを利用できます。
ユーザーフォームには、ボタンや文字入力用のテキストボックス、プルダウンメニューからユーザーに選択させるコンボボックスなど、コントロールと呼ばれる入力支援機能が用意されています。
これらのコントロールの多くはワークシート上に貼り付けることでも使用できますが、アプリケーションとしての体裁をより本格的なものとしたい、アプリケーション作成者の意図しないユーザー操作を極力防止したいという場合には、ユーザーフォームを使うことである程度問題の解決が可能になります。
ここでは、次のような住所入力フォームの作成を通して、ユーザーフォームやテキストボックスの簡単な使い方をご紹介します。

■ユーザーフォームの作成
Excelのユーザーフォームを使用してアプリケーションを作成するには、次のようにします。
- [Alt]+[F11]キーを押して、VBAの開発環境、Visual Basic Editor(VBE)を起動する
- 上記 1 で表示されたVBEで、[挿入]メニュー→[ユーザーフォーム]を選択する
この操作により、ボタンも何もない状態のユーザーフォームがVBEの中に表示されます。

■VBAの開発環境(VBE)
VBEのプロジェクエクスプローラ内には、「VBAProject(ブック名)」を親として、ツリー状にワークシートやブックのアイコンが並んでいます。これらと並んでユーザーフォームのアイコンがあることを確認できます。続けて、次の操作を行ってください。
プロジェクトエクスプローラが表示されていない場合は、VBEの[表示]メニューから表示します。
- プロジェクトエクスプローラでユーザーフォームのアイコンを右クリックし、表示されるショートカットメニューから[コードの表示]を選択する

ユーザーフォームの動作を制御するためのフォームモジュールが、コードウィンドウに表示されます。このフォームモジュールにさまざまなコードを記述します。
- [表示]メニュー→[プロパティウィンドウ]を選択し、プロパティウィンドウを表示する

プロパティウィンドウでは、フォームやフォーム上に配置したコントロールの書式など、さまざまなプロパティを設定します。プロパティはVBAのコードからも変更できますが、プロパティウィンドウではプロパティの初期値を設定します。
ウィンドウの左側に表示されているのがプロパティの名称、右側がその値です。
ほとんどのプロパティには初期値が設定されています。
■プロパティの変更
プロパティウィンドウを使ってプロパティを設定してみましょう。
次のように操作してください。
- プロパティウィンドウ上部のプルダウンメニューから[UserForm1]を選択する
- [全体]タブの一番上にある[(オブジェクト名)]をダブルクリックし、右側の値を「myForm」に変更する

プロジェクトエクスプローラのユーザーフォームアイコンの右側に表示されたオブジェクト名が「myForm」に変更されていることを確認してください。
この他にも、VBEにはローカルウィンドウ、イミディエイトウィンドウ、ウォッチウィンドウなどのデバッグツールがあります。これらはモジュールに記述したVBAコードの実行テストを行う際などに使用します。
■フォームの削除
不要なユーザーフォームを削除するには次のようにします。
- プロジェクトエクスプローラから削除したいフォームを選択する
(ここでは、[myForm]を選択してください)
- 右クリックして表示されるショートカットメニューから[myFormの開放]を選択する
- 「削除する前にmyFormをエクスポートしますか?」のメッセージが表示されるので[いいえ]を選択する
[キャンセル]を選択すると削除されません。
このあと、[myForm]フォームと使って住所入力フォームを作成していくので、ここでは[キャンセル]を選択してください。
では、次回から[myForm]フォームを使って住所入力フォームを作成していきましょう。