リストボックスでの選択結果をセルに表示するには?

Question 55.5 Previous Next
詳細は こちら 500連発第2弾400番の 「リストボックスの表示項目を3列表示する」 を応用したいのですが、
選択したデータを任意のセルにも表示できますか?
よろしくお願いします。
Answer   Copyright (C) 2002.9.17 永井善王
リストボックス 500連発をご活用、ありがとうございます。第2弾の400番は遠山文雄氏の作品ですが、監修担当の私宛に質問されましたのでお答えします。

そのサンプルの内容は、右図のとおり、ユーザーフォームに最大で3列表示のリストボックスを表示して、ユーザーがクリックして選択したときに値を取得する項目(リストの列)を、オプションボタンで切り替えることができます。それに加えて、表示する項目および列数も同様にして切り替えが可能で、多機能なリストボックスです。

取得した値は、同図の左下にあるラベルに表示されます。
あなたのご希望は、ラベルでなくて、セルに表示したいということですね。
さっそく、ユーザーフォームのコードを見てみましょう。
ユーザーフォームのコード

左図の丸印のところに、
Label1.Caption とありますね。

スバリのお答えとしては、ここを
Worksheets("Sheet1").Range("A1").Value のように修正すれば実現できます。なお、アクティブセルに表示したい場合は、ActiveCell.Value となります。
【参考】
リストボックスとコンボボックスのプロパティなどは、ほとんど共通です。
500連発第2弾をご活用いただくときに、どちらかのサンプルに適当なマクロが見当たらなかった場合には、もう一方のサンプルを探してみてください。本例の 場合は 390番「コンボボックスに入力または選択したときに動作するイベントマクロ」に、コンボボックスで選択された値を E10セルにセットするためのマクロコードが掲載されています。
また、Range、ActiveCell など、コードの書き方、使い方を知りたい場合には、この「すぐに役立つエクセルVBAマクロ集」にいろいろ掲載していますので、「
Contents」のページから探してご活用ください。

 

Excel VBA Macro