Using VBA you can specify the ListFillRange for ComboBox2.
Private Sub ComboBox1_LostFocus()
If ComboBox1.Value = "Option1" Then
ComboBox2.ListFillRange = "B1:B3"
ElseIf ComboBox1.Value = "Option2" Then
ComboBox2.ListFillRange = "C1:C3"
ElseIf ComboBox1.Value = "Option3" Then
ComboBox2.ListFillRange = "D1

3"
End If
End Sub
You can also clear the CB2 displayed entry when selecting CB1 with this
Private Sub ComboBox1_GotFocus()
ComboBox2.Value = ""
End Sub
otherwise CB2 continues to display the last selected item until you change
it.
Ian