문자열에서 이메일 주소를 검색하는 데 도움이되는 프로세스가 필요한 경우이 문서가 적합합니다. 이 기사에서는 텍스트에서 이메일 ID를 가져 오는 UDF를 작성합니다.

질문) : 내가 가지고있는 데이터에 너무 많은 정보가 텍스트 형식으로 포함되어 있습니다. 수동 작업을 최소화하기 위해 텍스트에서 이메일 ID를 최대한 많이 추출하는 데 도움이되는 VBA 코드를 원합니다.

아래 단계를 따라야합니다.

개발자 탭을 클릭하십시오. 코드 그룹에서 Visual Basic을 선택하십시오

img1

===

표준 모듈에 다음 코드를 입력하십시오.

함수 ExtractEmailFromText (s As String) As String Dim AtTheRateSignSymbol As Long Dim i As Long

Dim TempStr As String

Const CharList As String = “[A-Za-z0-9 ._-]”

===

AtTheRateSignSymbol = InStr (s, “@”)

AtTheRateSignSymbol = 0이면

ExtractEmailFromText = “”

그렇지 않으면

TempStr = “”

For i = AtTheRateSignSymbol-1 대 1 단계 -1

If Mid (s, i, 1) Like CharList Then

TempStr = Mid (s, i, 1) & TempStr

그렇지 않으면

종료

End If

다음 i

TempStr = “”이면 함수 종료

TempStr = TempStr & “@”

For i = AtTheRateSignSymbol + 1 To Len (s)

If Mid (s, i, 1) Like CharList Then

TempStr = TempStr & Mid (s, i, 1)

그렇지 않으면

종료

End If

다음 i

End If

If Right (TempStr, 1) = “.” 그런 다음 TempStr = _

왼쪽 (TempStr, Len (TempStr)-1)

ExtractEmailFromText = TempStr

끝 기능

img2

  • B2 셀에서 수식은

* = ExtractEmailFromText (A2)

우리는 결과를 얻을 것입니다. 아래 스냅 샷을 참조하십시오 :

img3

위의 코드는 셀에 하나 이상의 이메일 ID가있는 경우 첫 번째 이메일 주소를 추출합니다.

이런 식으로 텍스트에서 이메일을 검색 할 수 있습니다.

image 19