Home > 即効テクニック > Excel VBA > ユーザーフォーム関連のテクニック > ユーザフォーム入門 - 住所入力フォームを作成する(1) 〜 はじめに

即効テクニック

ユーザーフォーム関連のテクニック

ユーザフォーム入門 - 住所入力フォームを作成する(1) 〜 はじめに

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

■ユーザフォームの配置■
ユーザフォームをエクセルブックによるアプリケーションに組み込むには次のようにします。

  1. エクセルのメニューから”ツール-マクロ-Visual Basic Editor”を選択します。
  2. 1で表示されたVBA開発環境、Visual Basic Editor(VBE)の メニューから、”挿入-ユーザーフォーム”を選択します。
2の操作により、ボタンも何もない状態のユーザーフォームがVBEの中に表示されます。 ■VBA開発環境■ VBEのプロジェクエクスプローラ(表示されていなければ、”表示”メニューから表示させます)内に”VBAProject(ブック名.xls)”を親として、ツリー状にワークシートやエクセルブックのアイコンが並んでいます。これらと並列してユーザフォームのアイコンがあることを確認し、選択してから以下の操作を行ってください。 ・ユーザフォームのアイコン上で右クリックして表示されるショートカットメニューから”コードの表示”を選択します。 ユーザフォームの動作を制御するためのコードウィンドウにフォームモジュールが表示されます。(このフォームモジュールにはさまざまなVBAコードを記述します。) ・”表示”メニューから”プロパティーウィンドウ”を選択します。 表示されたプロパティーウィンドウでは、フォームやフォーム上に配置したコントロールのプロパティー設定により書式設定や、初期値など、各種の設定を行います。 ウィドウの左側に表示されているのがプロパティー名称、右側がその値となります。 ※ほとんどのプロパティーには初期値が設定されています。 (プロパティー変更のテスト) a.プロパティーウィンドウ上部のプルダウンメニューから”UserForm1”を選択。 b.”全体”タブの一番目の項目、”(オブジェクト名)”をダブルクリックし、右側の値を”MyForm”と変更してください。 c.プロジェクトウィンドウのユーザフォームアイコン右側で、フォームのオブジェクト名が”MyForm”に変更されていることを確認してください。 ※オブジェクト名の変更は”ユーザフォーム入門 - 住所入力フォームを作成する(2)”以降でも他の入力ボックスの名称変更などの際に行います。 ※その他VBEには”ローカルウィンドウ、ウォッチウィンドウ、イミディエイトウィンドウなどがありますが、これらは”デバッグ”といって、モジュールに記述したVBAコードの実行テストを行う際などに用いるものです。 (参考:テクニック集) デバッグ入門 − イミディエイトウィンドウその他 デバッグ入門 − ローカルウィンドウその他 ■フォームの削除■ 不必要なユーザフォームを削除するには次のようにします。 a.プロジェクトエクスプローラから”UserForm1”を選択。 ※上記プロパティー変更テストでオブジェクト名を変更している場合には”MyForm” b.右クリックにより表示されるショートカットメニューから”UserForm1の開放”を選択。 c.”削除する前にUserForm1をエクスポートしますか”のメッセージは、ここでは”いいえ”を選択します。