- 締切済み
VBA ユーザーフォーム
こんばんわ。 VBA、ユーザーフォームで、ListBoxか、Comboboxで、セルの値を参照し、そこから1つ選択するようにするにはどういうコードがりますか? Private Sub Userform_Initialize Listbox1.AddItem "700" Listbox1.AddItem "701" ・・・・・ ・・・・・ ・・・・・ End Sub と、やると、ListBoxには反映しますが、列が多すぎて、作成するのに手間が掛かる為、例えば、"700" の値に、Sheets(1)のC2から、C500の値を入れるようなコードはありますか? 宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- onlyrom
- ベストアンサー率59% (228/384)
セルの値をセットする場合、RowSourceプロパティを使います。 例えば、Sheet3 の C1~C500 の値をセットする場合。 '------------------------------------ Private Sub UserForm_Initialize() ListBox1.RowSource = "Sheet3!C1:C500" ComboBox1.RowSource = "Sheet3!C1:C500" End Sub '------------------------------------- 以上。
- fujillin
- ベストアンサー率61% (1594/2576)
リストボックスもコンボボックスも ListBox1.List() = ListArray のように配列(例:ListArray)の値を読み込むことができますので、AddItemで項目を定義してゆくよりは簡単になるでしょう。 また、シート内のボックスの場合は、セル範囲を指定してその内容で選択肢を表示させることが可能ですので、こちらを利用できれば、コードを作成する必要もなくなるので、さらに簡単にすることができます。
お礼
早速のお返事ありがとうございます。 ListArrayを、変数として読み込めばいいのでしょうか? また、変数を読み込む場合どうしたらよいですか?