• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル、コントロールツールボックスでListBoxへの範囲の設定方法)

エクセルのコントロールツールボックスでListBoxへの範囲の設定方法

このQ&Aのポイント
  • エクセルのコントロールツールボックスを使用してListBoxへの範囲を設定する方法について疑問があります。
  • フォームコントロールのListBoxではなく、コントロールツールボックス(ActiveXコントロール)のListBoxを配置した場合、リストの範囲を設定する方法が不便です。
  • フォームコントロールのListBoxでは、入力範囲をドラッグするだけで自動的に入力されるのに対し、ActiveXコントロールでは手動で入力する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>それともわたしがやりかたをまちがえているのでしょうか?   ↑ やり方じゃなくって使い方が違うんじゃないでしょうか?  ActiveXコントロールはVBAと組み合わせてその中で使うように設計されています、 たとえばListBoxのリストは 状況に応じてリストを追加したり、まるまる変えたり、、、 VBAのコードで柔軟に変化させたりして使います、セル範囲の固定したリストで良かったら、 フォームのリストボックスで事足りるんじゃないかと思いますが、、、 ActiveXコントロールを使う目的はなんでしょうか? せっかく フォームのリストボックスはご承知のとおり、簡便に使えるのに、単純なリスト でしたら十分機能を果たすと思いますが、、、

merlionXX
質問者

お礼

lll49erlllさん、ありがとうございます。 なるほど、セル範囲の固定したリストはこれまで通りフォームで作ればいいというわけですね。 フォームコントロールはそのうちなくなっちゃうんじゃないかという危惧があったのですが、使い方の違いで二つ用意してあるなら心配はいらないのかな・・・・。

その他の回答 (1)

  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

その通り手入力以外にありません。 ただし、ユーザーフォームのものは、「ListFillRange」ではなく、「RowSource」です。 プロパティの、「RowSource」は空欄にしておいて、ユーザーフォームが読み込まれたときに設定してもよいです。 Private Sub UserForm_Initialize() ListBox1.RowSource = "Sheet1!A1:A10" End Sub

merlionXX
質問者

お礼

さっそくありがとうございます。 やっぱり手入力しかないんですね(T.T) でもこれって改悪ですよね、あたらしいもののほうが使いづらいなんて・・・・。

関連するQ&A

専門家に質問してみよう