Hello Again,
I noticed a mistake I made, I was comparing the index number instead of the actual values in the If statements, so I changed that below. Also make sure that your listboxes bound column will be the email address field for each of the listboxes to get the required result.
Private Sub lst1_BeforeUpdate(Cancel As Integer)
Call CompareLists("lst1"

End Sub
Private Sub lst2_BeforeUpdate(Cancel As Integer)
Call CompareLists("lst2"

End Sub
Private Sub lst3_BeforeUpdate(Cancel As Integer)
Call CompareLists("lst3"

End Sub
Private Sub lst4_BeforeUpdate(Cancel As Integer)
Call CompareLists("lst4"

End Sub
Private Function CompareLists(ctrlName As String)
Dim SelValuelst1 As Variant
Dim SelValuelst2 As Variant
Dim SelValuelst3 As Variant
Dim SelValuelst4 As Variant
Select Case ctrlName
Case "lst1"
For Each SelValuelst1 In Me.lst1.ItemsSelected
For Each SelValuelst2 In Me.lst2.ItemsSelected
If Me.lst1.ItemData(SelValuelst1) = Me.lst2.ItemData(SelValuelst2) Then
MsgBox "This will create duplicate selections in listboxes, selection deselected", vbInformation
Me.lst1.Selected(SelValuelst1) = False
Exit Function
End If
Next SelValuelst2
For Each SelValuelst3 In Me.lst3.ItemsSelected
If Me.lst1.ItemData(SelValuelst1) = Me.lst3.ItemData(SelValuelst3) Then
MsgBox "This will create duplicate selections in listboxes, selection deselected", vbInformation
Me.lst1.Selected(SelValuelst1) = False
Exit Function
End If
Next SelValuelst3
For Each SelValuelst4 In Me.lst4.ItemsSelected
If Me.lst1.ItemData(SelValuelst1) = Me.lst4.ItemData(SelValuelst4) Then
MsgBox "This will create duplicate selections in listboxes, selection deselected", vbInformation
Me.lst1.Selected(SelValuelst1) = False
Exit Function
End If
Next SelValuelst4
Next SelValuelst1
Case "lst2"
For Each SelValuelst2 In Me.lst2.ItemsSelected
For Each SelValuelst1 In Me.lst1.ItemsSelected
If Me.lst2.ItemData(SelValuelst2) = Me.lst1.ItemData(SelValuelst1) Then
MsgBox "This will create duplicate selections in listboxes, selection deselected", vbInformation
Me.lst2.Selected(SelValuelst2) = False
Exit Function
End If
Next SelValuelst1
For Each SelValuelst3 In Me.lst3.ItemsSelected
If Me.lst2.ItemData(SelValuelst2) = Me.lst3.ItemData(SelValuelst3) Then
MsgBox "This will create duplicate selections in listboxes, selection deselected", vbInformation
Me.lst2.Selected(SelValuelst2) = False
Exit Function
End If
Next SelValuelst3
For Each SelValuelst4 In Me.lst4.ItemsSelected
If Me.lst2.ItemData(SelValuelst2) = Me.lst4.ItemData(SelValuelst4) Then
MsgBox "This will create duplicate selections in listboxes, selection deselected", vbInformation
Me.lst2.Selected(SelValuelst2) = False
Exit Function
End If
Next SelValuelst4
Next SelValuelst2
Case "lst3"
For Each SelValuelst3 In Me.lst3.ItemsSelected
For Each SelValuelst1 In Me.lst1.ItemsSelected
If Me.lst3.ItemData(SelValuelst3) = Me.lst1.ItemData(SelValuelst1) Then
MsgBox "This will create duplicate selections in listboxes, selection deselected", vbInformation
Me.lst3.Selected(SelValuelst3) = False
Exit Function
End If
Next SelValuelst1
For Each SelValuelst2 In Me.lst2.ItemsSelected
If Me.lst3.ItemData(SelValuelst3) = Me.lst2.ItemData(SelValuelst2) Then
MsgBox "This will create duplicate selections in listboxes, selection deselected", vbInformation
Me.lst3.Selected(SelValuelst3) = False
Exit Function
End If
Next SelValuelst2
For Each SelValuelst4 In Me.lst4.ItemsSelected
If Me.lst3.ItemData(SelValuelst3) = Me.lst4.ItemData(SelValuelst4) Then
MsgBox "This will create duplicate selections in listboxes, selection deselected", vbInformation
Me.lst3.Selected(SelValuelst3) = False
Exit Function
End If
Next SelValuelst4
Next SelValuelst3
Case "lst4"
For Each SelValuelst4 In Me.lst4.ItemsSelected
For Each SelValuelst1 In Me.lst1.ItemsSelected
If Me.lst4.ItemData(SelValuelst4) = Me.lst1.ItemData(SelValuelst1) Then
MsgBox "This will create duplicate selections in listboxes, selection deselected", vbInformation
Me.lst4.Selected(SelValuelst4) = False
Exit Function
End If
Next SelValuelst1
For Each SelValuelst2 In Me.lst2.ItemsSelected
If Me.lst4.ItemData(SelValuelst4) = Me.lst2.ItemData(SelValuelst2) Then
MsgBox "This will create duplicate selections in listboxes, selection deselected", vbInformation
Me.lst4.Selected(SelValuelst4) = False
Exit Function
End If
Next SelValuelst2
For Each SelValuelst3 In Me.lst3.ItemsSelected
If Me.lst4.ItemData(SelValuelst4) = Me.lst3.ItemData(SelValuelst3) Then
MsgBox "This will create duplicate selections in listboxes, selection deselected", vbInformation
Me.lst4.Selected(SelValuelst4) = False
Exit Function
End If
Next SelValuelst3
Next SelValuelst4
Case Else
End Select
End Function
Regards,
gkprogrammer