you can solve the disappearing selection by moving your code to the worksheet activate event instead of the dropbutton click
Private Sub Worksheet_Activate()
cmbcontact.Clear
If Sheets("Contact Details").Range("A4").Value <> "" Then
cmbcontact.AddItem "Client 1"
End If
If Sheets("Contact Details").Range("A5").Value <> "" Then
cmbcontact.AddItem "Client 2"
End If
If Sheets("Contact Details").Range("A7").Value <> "" Then
cmbcontact.AddItem "FA 1"
End If
If Sheets("Contact Details").Range("A8").Value <> "" Then
cmbcontact.AddItem "FA 2"
End If
If Sheets("Contact Details").Range("A10").Value <> "" Then
cmbcontact.AddItem "Cus 1"
End If
If Sheets("Contact Details").Range("A11").Value <> "" Then
cmbcontact.AddItem "Cus 2"
End If
End Sub