|
|
| Excel VBA Macro ・ リストボックス・コントロール ・ FAQ |
|
ユーザーフォームのリストボックスへ2列型のリストを表示するには?
|
|
|
|
Question 60.5 |
|
 |
 |
|
|
500連発第2弾394番に関連した質問をさせてください。
ユーザーフォームに作成した、2列のリストボックスにリンクする2つのセルを設定するには、どうすれば良いでしょうか?
|
|
Answer |
Copyright (C) 2003.5.29 永井善王 |
|
|
「Excel VBAマクロ 500連発第2弾」394番は「リストボックスのリンクするセルを設定・クリアする」と題するサンプルで、ワークシートに作成したリストボックスにリンクするセルを設定し、クリアする方法をご紹介しています。
ご質問とサンプルの相違点は、(1) リストボックスをユーザーフォームに作成すること、(2) リストを2列型にすることでしょうか。
おそらく (1)についてのご説明は不要でしょうから、(2)についてご回答します。
394番のサンプルでは、リストにワークシートのデータを表示するためのコードを数例紹介しています。一例としては次のとおりです。
Worksheets("Title").DrawingObjects("リスト 1").Select
With Selection
.ListFillRange = "管理表!A2:A4"
.LinkedCell = "呼出!$A$2"
End With
これを見て ListFillRangeプロパティの設定を変えるのではないかと
と思われましたね。例えば、1列目のデータがワークシートの A列に、2列目が B列に入っている場合は、 .ListFillRange = "管理表!A2:B4" のように変更します。
そして右図のように、リストボックスのプロパティウィンドウの中に[ColumnCount]プロパティがありますから、'2' を設定します。
なお、リストボックスとコンボボックスとは共通点が多く、他にもいろいろな方法があります。
この「すぐに役立つエクセルVBAマクロ集」の中の下記のページも参考にしてください。特に、ワークシートのデータの 1列目と 2列目が離れている場合などに役立つかもしれません。
・ コンボボックスのリストをセットする (2列型)
・ 2列型のコンボボックスで選択されたら2列目を表示してその値を取得するには
また、拙著「Excel VBA マクロ組み方講座」では、さまざまな設定方法をわかりやすく解説しています。よろしければ、ご覧ください。2003年6月下旬に全国書店で発売開始です。
|
|
|
|
| |
|
|
|