• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAを使用しコンボボックスにリストを設定する方法)

VBAでコンボボックスにリストを設定する方法

このQ&Aのポイント
  • VBAを使用してコンボボックスにリストを設定する方法をご教授ください。
  • 特定の列のデータをリストとしてコンボボックスに設定したい場合、どのようにするのが効率的でしょうか?
  • Excel2003のバージョンで、コンボボックスにA列とC列のデータを設定する方法をお教えください。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

ComboBoxは、あまりRowSourceを取ることはしませんね。データを書き換える目的がないからですが。 Private Sub UserForm_Initialize()  Dim Ar()  Dim rng As Range  Dim c As Variant, i As Long  Set rng = Worksheets("Sheet1").Range("A2:A5")  ReDim Ar(0 To rng.Rows.Count, 1)  i = 1 'データ初期値 初期値0なら、上のrng.Rows.Count -1 にする  For Each c In rng   Ar(i, 0) = c.Value   Ar(i, 1) = c.Offset(, 2).Value   i = i + 1  Next c  With ComboBox1   .ColumnCount = 2   .ColumnWidths = "50;50"   .List = Ar  End With  Set rng = Nothing End Sub

tomokidayo
質問者

お礼

やはりrousourceはこのような用途には使用しないのですね! 前から悩んでいた事なので本当に助かりました! ありがとうございました。