• 締切済み

VBA ユーザーフォーム

こんばんわ。 VBA、ユーザーフォームで、ListBoxか、Comboboxで、セルの値を参照し、そこから1つ選択するようにするにはどういうコードがりますか? Private Sub Userform_Initialize   Listbox1.AddItem "700" Listbox1.AddItem "701"   ・・・・・   ・・・・・   ・・・・・ End Sub と、やると、ListBoxには反映しますが、列が多すぎて、作成するのに手間が掛かる為、例えば、"700" の値に、Sheets(1)のC2から、C500の値を入れるようなコードはありますか? 宜しくお願いします。

みんなの回答

  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.2

セルの値をセットする場合、RowSourceプロパティを使います。 例えば、Sheet3 の C1~C500 の値をセットする場合。 '------------------------------------ Private Sub UserForm_Initialize()  ListBox1.RowSource = "Sheet3!C1:C500"  ComboBox1.RowSource = "Sheet3!C1:C500" End Sub '-------------------------------------   以上。  

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

リストボックスもコンボボックスも  ListBox1.List() = ListArray のように配列(例:ListArray)の値を読み込むことができますので、AddItemで項目を定義してゆくよりは簡単になるでしょう。 また、シート内のボックスの場合は、セル範囲を指定してその内容で選択肢を表示させることが可能ですので、こちらを利用できれば、コードを作成する必要もなくなるので、さらに簡単にすることができます。

potara_ran
質問者

お礼

早速のお返事ありがとうございます。 ListArrayを、変数として読み込めばいいのでしょうか? また、変数を読み込む場合どうしたらよいですか?

関連するQ&A

専門家に質問してみよう