• ベストアンサー

ユーザーフォームのコンボボックス

エクセルのユーザーフォームでの質問です。 コンボボックスの項目についてsheet2のB2~B10を選択したいのですが、このユーザーフォームはsheet1で使うもので、プロパティのrowsource欄にセルを選択できません(やり方が分かりません)。 どう入力したら別シートのセルをコンボボックスに反映出来るのでしょうか??

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

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

プロパティから出なく コードで設定してはどうでしょう。 Private Sub UserForm_Initialize() Dim myDRange As String myDRange = "Sheet2!B2:B10" Me.ComboBox1.RowSource = myDRange If Worksheets("Sheet2").Range("B2").Value = "" Then    Me.ComboBox1.RowSource = "" End If End Sub

uchitarou
質問者

お礼

出来ました!! 素人には分からない式ですね。 どうもありがとうございました。

その他の回答 (1)

  • Yes_No_F
  • ベストアンサー率40% (4/10)
回答No.1

たとえば、下記の様な例になります。 With ComboBox1 .AddItem Sheets("Sheet1").Range("a1").Value .AddItem Sheets("Sheet2").Range("a1").Value End With この場合は、Sheet1のA1とSheet2のA1をコンボボックスのアイテムにする場合の記述です。 ループを利用して、多くの項目を追加する事が可能です。

uchitarou
質問者

お礼

簡素化されていて見やすい式ですね。 マクロを使いこなせていれば使いやすいのかも。 どうもありがとうございました。

関連するQ&A