利用workbook的SheetChange事件:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
For Each dyg In Target
If dyg.Column <> 1 Or dyg.Count > 1 Then Exit Sub
If [b:b].Find(dyg, , , xlWhole) Is Nothing Then MsgBox "新输入值“" & dyg & "”在B列不存在!"
Next
End Sub