プライマリデータがあります(スタティックではなく、他の実行時モジュールで変更される可能性があります) を1つの列に入力してから、プライマリ列の各要素に対して列があります。リストボックスの内容をExcelの別のリストボックス選択に応じて動的に変更する方法 - VBAユーザーフォーム
Aが3番目の要素を持つ場合、列B、CおよびDはさまざまなデータ行を持つ2次列になります。
私は2つのリストボックス1を持っています。& 2。ユーザーがリストボックス1で2番目の要素を選択すると、リストボックス2は "C"列の内容を表示します。
Private Sub ListBox1_Click()
Dim X As Integer
Dim vCol As Variant
Dim srange As Range
Dim ssheeet As Worksheet
Set ssheeet = ThisWorkbook.Sheets("Sheet2")
X = ListBox1.ListIndex
Me.ListBox1.List = ssheeet.Columns(X + 1).Values*
'2nd selection i.e., 2+1 gives 3rd -> "C" column
End Sub
Private Sub UserForm_Initialize()
Dim ssheeet As Worksheet
Set ssheeet = ThisWorkbook.Sheets("Sheet1")
Me.ListBox1.RowSource = "Sheet1!A:A"
End Sub
クエリ?
Me.ListBox1.List = ssheeet.Columns(X + 1).Values
は、2番目のリストボックスにダイナミックレンジを与える必要がある場所では機能しません。 ありがとう!
1.オブジェクトがこのプロパティまたはメソッドをサポートしていないため、実行時エラー438が発生しています myArray = ssheeet.Columns(X + 1).Values。 2.範囲のことについて、私は "X + 1"列の行数を持っています。例えば、セル(2,2)はX + 1列の行数を返します。助けてください –