Case文による選択肢をさらにあるセルの条件によって分けたい。
EXCEL VBAについての質問です。
初心者です。宜しくお願い致します。
使用環境はWindows 2000 service pack4
Excel 2000.
=質問=
現在、以下のようなプログラムを記しています。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Target
If .Address = "$D$11" Then
With UserForm1
.ListBox1.List = Array("abc", "def","ghi")
.Show (0)
End With
ElseIf .Address = "$D$12" Then
With UserForm2
Select Case Range("$D$11")
Case "abc"
.ListBox1.List = Array("あ", "い","
う", "え", "お")
Case "def"
.ListBox1.List = Array("A, "B","C", "D")
Case "ghi"
.ListBox1.List = Array("いろ", "はに", "ほへ", "とち")
End Select
.Show (0)
End With
End If
End With
これはセルD11をクリックするとユーザーフォーム1(リストボックス1)が現れ"abc,def,ghi"が選択でき、その選択内容によってセルD12の内容が変化するといったものです。
この応用としてD11の選択肢に加えセルA1の内容(例えば1,2,3)の選択内容によってD12に表示される選択肢をさらに細分化したい。
例えばセルD11で"ghi"を選択する。
上記のプログラムそのままではセルD12をクリックした時に
("いろ", "はに", "ほへ", "とち")が選択肢としてユーザーフォーム2(リストボックス2)に表示されます。
それをセルA1の表示が"1"の時にセルD12をクリックしたら("いろ", "はに")、セルA1の表示が"2"にセルD12をクリックしたら("ほへ", "とち")
セルA1の表示が"3"の時にセルD12をクリックしたら選択肢なしという風に分けたい。
Case "ghi"から以下にif文などを挿入し作成してみましたが、うまく作動しませんでした・・・
上記、質問に対し、どのようにプログラムを変更すればよいがご教授いただくようお願い致します。
お礼
deus_ex_machina さん 回答ありがとうございました。 やりたかったことが完全解決できました。 少しむずかしく考えすぎていたようです。 choose関数はあまり使ったことがなかったですが 今後は覚えたことを応用させていきたいと思います。