Consegue extrair um endereço de eMail de uma linha onde estejam contidos outros dados?
Veja o exemplo:
André Luiz Bernardes <bernardess@gmail.com>
Utilize a função ExtractEmailAddress para extrair somente o endereço do e-mail.
Function ExtractEmailAddress(s As String) As String' Author: Date: Contact:' André Bernardes 11/08/2008 09:01 bernardess@gmail.com' Extrai apenas o e-mail de uma célula.Dim AtSignLocation As LongDim i As LongDim TempStr As StringConst CharList As String = "[A-Za-z0-9._-]"'Localizando a @.Let AtSignLocation = InStr(s, "@")If AtSignLocation = 0 ThenLet ExtractEmailAddress = "" 'not foundElseLet TempStr = ""'Parte do e-mail antes da @.For i = AtSignLocation - 1 To 1 Step -1If Mid(s, i, 1) Like CharList ThenLet TempStr = Mid(s, i, 1) & TempStrElseExit ForEnd IfNext iIf TempStr = "" Then Exit Function'Parte do e-mail depois da @.Let TempStr = TempStr & "@"For i = AtSignLocation + 1 To Len(s)If Mid(s, i, 1) Like CharList ThenLet TempStr = TempStr & Mid(s, i, 1)ElseExit ForEnd IfNext iEnd If'Remove trailing period if it existsIf Right(TempStr, 1) = "." Then _Let TempStr = Left(TempStr, Len(TempStr) - 1)Let ExtractEmailAddress = TempStrEnd Function
Tags: VBA, Tips, UDF, e-mail, eMail,