|
▼mohimohi さん:
申し訳ありません。ミスでした。
該当のものが1件の時、エラーになります。
なお、エラーでとまった時点ではComboBox2以下にはセットできていませんので
そこは空白になっています。これは忘れていただいてOKです。
ComboBox1_Change、ComboBox2_Change、ComboBox3_Change を入れ替えてください。
他はそのままでOKです。
Private Sub ComboBox1_Change()
If ComboBox1.ListIndex < 0 Then Exit Sub
ComboBox2.Clear
ComboBox3.Clear
ComboBox4.Clear
ComboBox2.Value = ""
ComboBox3.Value = ""
ComboBox4.Value = ""
rfA.AutoFilter Field:=1, Criteria1:=ComboBox1.Value
If rfA.Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count = 1 Then Exit Sub
rfX.CurrentRegion.Clear
Intersect(rfA, rfA.Offset(1)).Copy rfX
rfX.CurrentRegion.RemoveDuplicates Columns:=2, Header:=xlNo
With rfX.CurrentRegion.Columns("B")
If .Rows.Count = 1 Then
ComboBox2.AddItem .Value
Else
ComboBox2.List = .Value
End If
End With
End Sub
Private Sub ComboBox2_Change()
If ComboBox2.ListIndex < 0 Then Exit Sub
ComboBox3.Clear
ComboBox4.Clear
ComboBox3.Value = ""
ComboBox4.Value = ""
rfA.AutoFilter Field:=1, Criteria1:=ComboBox1.Value
rfA.AutoFilter Field:=2, Criteria1:=ComboBox2.Value
If rfA.Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count = 1 Then Exit Sub
rfX.CurrentRegion.Clear
Intersect(rfA, rfA.Offset(1)).Copy rfX
rfX.CurrentRegion.RemoveDuplicates Columns:=3, Header:=xlNo
With rfX.CurrentRegion.Columns("C")
If .Rows.Count = 1 Then
ComboBox3.AddItem .Value
Else
ComboBox3.List = .Value
End If
End With
End Sub
Private Sub ComboBox3_Change()
If ComboBox3.ListIndex < 0 Then Exit Sub
ComboBox4.Clear
ComboBox4.Value = ""
rfA.AutoFilter Field:=1, Criteria1:=ComboBox1.Value
rfA.AutoFilter Field:=2, Criteria1:=ComboBox2.Value
rfA.AutoFilter Field:=3, Criteria1:=ComboBox3.Value
If rfA.Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count = 1 Then Exit Sub
rfX.CurrentRegion.Clear
Intersect(rfA, rfA.Offset(1)).Copy rfX
With rfX.CurrentRegion.Columns("D:E")
ComboBox4.List = .Value
End With
End Sub
>▼β さん:
>
>>何も表示されないというのは、ComboBox1 で選択しても ComboBox2 のリストが空白だということですか?
>⇒はい。その通りです。ComboBox1で氏名を選択すると、
>★ComboBox2.List = .Valueの部分でエラーになり、「実行時エラー381 Listプロパティを設定できません。プロパティの配列のインデックスが無効です」とメッセージが出ます。
>ComboBox2、3、4は、プルダウンで選択項目も表示されません。。。
>
>>こうするためには、そのComboBox の ListFillRage には、なにも設定していないことが条件ですが
>>そこはいかがですか?もし、プロパティで設定があるなら、消してください。
>⇒各ComboBoxのプロパティのListFillRageには何も設定されていませんでした。;; 空白でした。。。。
>
>>エラーになった時、SHeet2 の状態はどうなっていましたか?
>⇒
>
>■CommandButton押下時のSheet2
>(1行目はF1,G1を除いて全てフィルタ付)
> A B C D E F G
>1氏名 性別 年齢 住み 氏名
>2田中 女 12 東京 2 田中
>3山田 男 6 神奈川 3 山田
>4山田 男 29 東京 4 鈴木
>5鈴木 女 14 群馬 5
>
>
>■ComboBox1選択時のSheet2(田中の場合)
>
> A B C D E F G
>1氏名 性別 年齢 住み 氏名
>2田中 女 12 東京 2 田中
>6
>7田中 女 12 東京 2
>
>
>■ComboBox1選択時のSheet2(山田の場合)
>
> A B C D E F G
>1氏名 性別 年齢 住み 氏名
>3山田 男 6 神奈川 3 山田
>4山田 男 29 東京 4 鈴木←このように表示されます
>6
>7山田 男 6 神奈川 3
>
>
>■ComboBox1選択時のSheet2(鈴木の場合)
>
> A B C D E F G
>1氏名 性別 年齢 住み 氏名
>5鈴木 女 14 群馬 5 ←何も表示されませんでした
>6
>7鈴木 女 14 群馬 5
>
>どの氏名を選んでも、同じエラーが表示されます。
>何度も申し訳ございませんが、よろしくお願い致します。
|
|