Option Explicit
Private Sub Combo1_Click()
Dim lngIndex As Long
For lngIndex = Combo2.ListCount - 1 To 0 Step -1
If Combo2.ItemData(lngIndex) <> Combo1.ItemData(Combo1.ListIndex) Then
Combo2.RemoveItem lngIndex
End If
Next
End Sub
Private Sub Form_Load()
Combo1.AddItem "writer 1"
Combo1.ItemData(Combo1.NewIndex) = 1
Combo1.AddItem "writer 2"
Combo1.ItemData(Combo1.NewIndex) = 2
Combo1.AddItem "writer 3"
Combo1.ItemData(Combo1.NewIndex) = 3
Combo1.AddItem "writer 4"
Combo1.ItemData(Combo1.NewIndex) = 4
Combo2.AddItem "book by writer2"
Combo2.ItemData(Combo2.NewIndex) = 2
Combo2.AddItem "another book by writer2"
Combo2.ItemData(Combo2.NewIndex) = 2
Combo2.AddItem "still another book by writer2"
Combo2.ItemData(Combo2.NewIndex) = 2
Combo2.AddItem "book by writer1"
Combo2.ItemData(Combo2.NewIndex) = 1
Combo2.AddItem "book by writer3"
Combo2.ItemData(Combo2.NewIndex) = 3
End Sub