ドロップダウン1とドロップダウン2があるとします。
ドロップダウン1には選択肢AとBが格納されています。
ドロップダウン1でAを選んだ場合は、ドロップダウン2で複数の選択肢を表示させます。
ドロップダウン1でBを選んだ場合は、ドロップダウン2で選択肢は表示させず、NULLを受け取りたいです。(全角スペースで何もないように見せるのは無し)
現在ですが、ドロップダウン1でAを選びドロップダウン2で選択したあと、ドロップダウン1をBに変えてもドロップダウン2の選択肢がそのまま残ってしまいます。
ドロップダウン2に既にデータが入っていたとしても、その後でドロップダウン1をBに変更した場合セルをクリアさせたいです。
また、空白の選択肢を作る(もしくは選択肢を表示させない)場合の対処法として、よく全角スペースを入れる手段があると思いますが、今回の場合はこれを避けたいです。
別ウィンドウでコンボボックスを出したりするのではなく、セル内のドロップダウンで上記のような仕組みを作ることは可能でしょうか?
現在以下のようなコードを書いてみたのですが、双方向の連動ということしかできず、この形式だと下のような問題点が発生していまいます。
・選択肢1つに対して連動する選択肢も1つであること
・選択肢なしにするということが達成できていないこと
VBA
1Option Explicit 2Private Sub Worksheet_Change(ByVal Target As Range) 3Dim myRow As Long 4 5If Not Intersect(Target, Range("A1:B1")) Is Nothing Then 6Application.EnableEvents = False 7If Target.Address(0, 0) = "A1" Then 8myRow = WorksheetFunction.Match(Range("A1"), Columns(4), 0) 9Range("B1") = Range("E" & myRow) 10Else 11myRow = WorksheetFunction.Match(Range("B1"), Columns(5), 0) 12Range("A1") = Range("D" & myRow) 13End If 14Application.EnableEvents = True 15End If 16End Sub