Validar endereços de e-mail é um buraco negro. E mesmo que você tenha conseguido determinar a validade do e-mail, ainda não saberá se é um e-mail ativo ou até o e-mail dessa pessoa (eles podem ter digitado o endereço de outra pessoa).
Se você ainda quiser fazer um teste básico de sintaxe, pode entrar no VBA (pode ser necessário ativar na guia Desenvolvedor na faixa de opções) e definir uma referência a "Microsoft VBSript Regular Expressions 5.5", criar um novo módulo e Digite este código (eu não sou habilidoso em RegEx então eu peguei de StackOverflow , você pode obter outros RegExs em FightingForALostCause ou uma discussão completa em Expressões Regulares ):
Public Function CheckEmailSyntax(ByVal Email As String) As Boolean
Dim regex As RegExp
Set regex = New RegExp
regex.Pattern = "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$"
regex.IgnoreCase = True
CheckEmailSyntax = regex.Test(Email)
End Function
Em seu projeto, insira algo como =CheckEmailSyntax(A1)
. Ele retornará TRUE
para os bons e FALSE
para os bons. Classifique as duas colunas pela coluna T / F e exclua as FALSE. Espero que isso ajude.