Please Enable JavaScript!
Gon[ Enable JavaScript ]

엑셀 VBA 주민번호, 이메일 문자열 잘라 내는 방법

엑셀(Excel)/VBA
반응형

VBA 에서 작업을 하다 보면 문자열을 다룰 때 가장 많이 접하게 되는 것이 자르기 입니다. 예를 들어 주민번호에서 생년월일을 추출한다거나 메일 주소에서 아이디를 분리하는 작업을 말합니다. 앞으로 활용 범위가 넓기 때문에 반드시 숙지하고 가시는 것이 좋습니다. 오늘은 InStr, Mid, Left 함수를 사용해서 메일 주소의 URL 과 아이디를 분리하는 방법에 대해 알아 보겠습니다.

 

 

 

먼저 메일 주소 영역을 가져옵니다. For 문을 돌면서 전체 영역에 값을 하나씩 꺼냅니다. Cells 함수의 Value 속성을 사용하면 해당 셀의 메일 주소를 가져올 수 있습니다.

 

Dim i As Range
Dim sEmail As String, sHead As String, sTail As String
   
For i = 3 To 11
    sEmail = Cells(i, 3).Value
Next i

 

 

이제 가져온 메일 주소를 분리해야 합니다. 아이디와 메일 주소를 구분하고 있는 “@”입니다. 그 위치가 문자열에서 몇 번째 위치에 있는지 알아 내야 합니다. 이 때 사용하는 함수가 InStr 입니다. 인수로 문자열에서 찾을 값을 두 번째 인수로 넘깁니다. “@” 가 되겠죠. 그럼 “@” 가 있는 위치를 숫자로 반환합니다.

엑셀 VBA 주민번호, 이메일 문자열 잘라 내는 방법

 

“@” 의 위치를 알았으니 Left Mid 함수를 사용해서 잘라 내면 됩니다. 두 함수의 사용법은 다음과 같습니다.

 

Left(str, length) : 문자열의 왼쪽에서부터 지정한 숫자만큼 잘라 리턴한다.

l  str : 전체 문자열

l  length : 자르고 싶은 문자열 크기

 

Mid(str, start, length) : 문자열의 시작과 끝을 지정해서 잘라낸다.

l  str : 전체 문자열

l  start : 자르고 싶은 문자의 시작 위치

l  length : 자르고 싶은 문자의 종료 위치, Optional 이며 입력하지 않으면 문자열 끝까지 자른다.

 

아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.
엑셀 Excel 주민번호 이용해서 자신이 태어난 요일 추출하기
엑셀 주민번호로 나이 구하기
엑셀 Excel 주민번호나 카드번호 뒷자리 별표처리 하는 방법
엑셀 Excel 사용자 주민 번호에서 생일 데이터 추출하는 방법
셀 Excel 주민번호에서 함수로 생년월일 추출하기

 

 

Left 함수로는 @ 를 기준으로 앞에 있는 아이디를 분리합니다. Mid @ 기준으로 뒤에 있는 사이트 주소를 분리합니다

 

Cells(i, 4).Value = Left(sEmail, pos - 1)
Cells(i, 5).Value = Mid(sEmail, pos + 1)

 

 

함수를 구성하는 전체 소스는 다음과 같습니다. 함수를 실행한 결과 아이디와 메일 서버 주소가 분리 돼서 원하는 위치에 들어갔습니다.  

 

Sub dataDiv()
 
    Dim i As Integer, pos As Integer
    Dim sEmail As String, sHead As String, sTail As String
       
    For i = 3 To 11
        sEmail = Cells(i, 3).Value
        pos = InStr(sEmail, "@")
        Cells(i, 4).Value = Left(sEmail, pos - 1)
        Cells(i, 5).Value = Mid(sEmail, pos + 1)
    Next i
 
End Sub

 

엑셀 VBA 주민번호, 이메일 문자열 잘라 내는 방법

 

아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.
엑셀 Excel 주민번호 이용해서 자신이 태어난 요일 추출하기
엑셀 주민번호로 나이 구하기
엑셀 Excel 주민번호나 카드번호 뒷자리 별표처리 하는 방법
엑셀 Excel 사용자 주민 번호에서 생일 데이터 추출하는 방법
셀 Excel 주민번호에서 함수로 생년월일 추출하기
반응형
Posted by 녹두장군1
,