ユーザーフォームも慣れてくると簡単に使えるようになります。文化が異なるようで、「プロパティ」で設定する方式が、ややこしいですね。Editorを開き、挿入メニューのユーザーフォームを実行します。ツールボックスから選択して、フォームにオブジェクトを貼り付けます。ここでは、ラベル・テキストボックス・コマンドボタン・リストボックスについて説明します。ボタンに相当するものです。使い方はほぼ同じですが、それぞれ内容はプロパティで設定します。それぞれのツールを選択すると、プロパティ一覧が表示されます。表示されない場合は、右クリックでプロパティを実行すると、以後プロパティウインドウが表示されます。背景色、ForeColorは文字色です。これらは、選択すると一覧が現れ、選択できます。Fontは、文字の設定です。ここで、サイズや種類を選べます。Captionは、表示される文字列です。書き込むか、VBAでUserForm1.Label1.Caption="表示したい文字"で設定できます。フォームのタイトルです。プロパティの一覧は、オブジェクトによって異なりますが、英語を理解すれば内容は想像付きます。テキストボックスの場合は、Captionではなく、textになります。ように、セルに値を持ってこられます。シートにフォームを表示させるには、マクロが必要です。マクロに登録して実行します。これは、標準のモジュールシートに登録します。この場合はフォームが非表示になるだけで、フォームの内容は保持されます。UserForm1です。Xボタンで消されると困る場合は、フォーム上のボタンにフォーム終了のマクロを登録して、×ボタンを無効にします。これには、別途マクロの登録が必要です。マクロの登録フォームのマクロは、フォームごとにプライベートマクロが作られるので、ここに登録します。その他、それぞれのオブジェクトをクリックしたりするイベントごとのマクロが自動で作られています。この中に、モジュールシートに登録したマクロを呼び出す記述が可能です。Subリストボックスは、複数行の文字列を表示させるものですが、ワークシート上の範囲を表示させることも可能です。複数列の表データを表示させ、この中の項目を選択する例を紹介します。サンプルは、一つのシートにまとめてありますが、G1:I18のリストをフォームのリストボックスに表示させ、ここで選択したものをシートのA4、B4、B5に表示するようにしています。Listbox1のプロパティを表示させ、ここで設定して行きます。複数列のリストを表示するために、BoundColumnとColumunCountに、ここで必要な3列の3を入れます。ColumunHeadは、項目行を表示するかの指定です。