- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル、コントロールツールボックスでListBoxへの範囲の設定方法)
エクセルのコントロールツールボックスでListBoxへの範囲の設定方法
このQ&Aのポイント
- エクセルのコントロールツールボックスを使用してListBoxへの範囲を設定する方法について疑問があります。
- フォームコントロールのListBoxではなく、コントロールツールボックス(ActiveXコントロール)のListBoxを配置した場合、リストの範囲を設定する方法が不便です。
- フォームコントロールのListBoxでは、入力範囲をドラッグするだけで自動的に入力されるのに対し、ActiveXコントロールでは手動で入力する必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>それともわたしがやりかたをまちがえているのでしょうか? ↑ やり方じゃなくって使い方が違うんじゃないでしょうか? ActiveXコントロールはVBAと組み合わせてその中で使うように設計されています、 たとえばListBoxのリストは 状況に応じてリストを追加したり、まるまる変えたり、、、 VBAのコードで柔軟に変化させたりして使います、セル範囲の固定したリストで良かったら、 フォームのリストボックスで事足りるんじゃないかと思いますが、、、 ActiveXコントロールを使う目的はなんでしょうか? せっかく フォームのリストボックスはご承知のとおり、簡便に使えるのに、単純なリスト でしたら十分機能を果たすと思いますが、、、
その他の回答 (1)
- kybo
- ベストアンサー率53% (349/647)
回答No.1
その通り手入力以外にありません。 ただし、ユーザーフォームのものは、「ListFillRange」ではなく、「RowSource」です。 プロパティの、「RowSource」は空欄にしておいて、ユーザーフォームが読み込まれたときに設定してもよいです。 Private Sub UserForm_Initialize() ListBox1.RowSource = "Sheet1!A1:A10" End Sub
質問者
お礼
さっそくありがとうございます。 やっぱり手入力しかないんですね(T.T) でもこれって改悪ですよね、あたらしいもののほうが使いづらいなんて・・・・。
お礼
lll49erlllさん、ありがとうございます。 なるほど、セル範囲の固定したリストはこれまで通りフォームで作ればいいというわけですね。 フォームコントロールはそのうちなくなっちゃうんじゃないかという危惧があったのですが、使い方の違いで二つ用意してあるなら心配はいらないのかな・・・・。