エクセルで、
「リストから複数のデータを選択したら、そのままセルに記入される。」
というマクロについてです。
(1)で「表の、B列を選択したら、複数選択リストが表示される」
というマクロを作ったところ、
「C列以降でも、同様にリストを表示させたい」というコメントをいただきました。
意外と「複数選択リスト」のニーズがあるかもしれないので、
アレンジできるように、解説記事を書いてみます。
サンプルファイルは、こちらからダウンロードできます。
まずは、リストの作成。
「リスト」シートに、選択項目一覧を入力して、範囲名を付けます。
サンプルでは、「リスト1」という範囲名を付けています。
シートの準備ができたら、VBEを起動(Alt+F11キー)。
左上「プロジェクト」内の「UserForm1」をダブルクリックしてください。
ボクが適当に作ったユーザーフォームが、出てきます。
リストボックス部分を選択して、左下「プロパティ」内の「RowSource」に、
表示させたいリストの範囲名を記入します。
ついでに、ユーザーフォームのコードも確認しておきましょう。
「プロジェクト」内の「UserForm1」を右クリック→「コードの表示」。
「コマンドボタン「OK」をクリックすると、リストボックスで選択した値を書き込む」
というマクロです。
とくに、書き換える必要はありません。
最後に、「プロジェクト」内の「Sheet1」をダブルクリックしてください。
「表内を選択すると、UserForm1を表示する」というマクロです。
赤い線が引いてあるところが、表の範囲を指定しています。
Column=列、Row=行 という意味。
「2列目~5列目で、6行目まで」という指定をしてあります。
表を作り変えたら、ご希望の数字に修正してください。
「範囲名の付け方は、どうしたらいいの」などは、エクセルの初歩なので、
わからないときは、調べてみましょう。
「列ごとに、別々のリストを表示させたい」というときは、
UserForm2、UserForm3・・・というように、別のユーザーフォームを作成し、
それぞれでマクロを登録しないといけません。
UserForm1の内容をコピーして、ガンバって作ってみてください。