VBAフォームに3つのドロップダウン(cbo_fac1、cbo_fac2、cbo_fac3)があり、それぞれが同じソースからデータを抽出しています。ただし、選択リストのグループにカスケード更新を実装して、ユーザーが1つのオプションからオプションを選択すると、後続の選択リストから削除されるようにしたいと思います。
たとえば、cbo_fac1に次のオプションがある場合:
Blu-ray DVD Player
Chalk board
Computer
Data projector
Data projector trolley
ユーザーがcbo_fac1Blu-ray DVD Player
から選択すると、次の2つのドロップダウン(cbo_fac2とcbo_fac3)で使用できるオプションは次のとおりです。
Chalk board
Computer
Data projector
Data projector trolley
次に、ユーザーがcbo_fac2Data projector trolley
から選択することを決定した場合、次の最後のドロップ(cbo_fac3)には、次の選択オプションのみが必要です。
Chalk board
Computer
Data projector
もちろん、ユーザーが戻ってオプションを変更することを決定した場合、これも反映する必要があります。これを達成するにはどうすればよいでしょうか。これは私がこれまでに持っているコードです:
For Each c_fac In ws_misc.Range("fac")
With Me.cbo_fac1
.AddItem c_fac.Value
.List(.ListCount - 1, 1) = c_fac.Offset(0, 1).Value
End With
With Me.cbo_fac2
.AddItem c_fac.Value
.List(.ListCount - 1, 1) = c_fac.Offset(0, 1).Value
End With
With Me.cbo_fac3
.AddItem c_fac.Value
.List(.ListCount - 1, 1) = c_fac.Offset(0, 1).Value
End With
Next c_fac
前もって感謝します!