업무중에 휴대전화번호인지 여부를 확인해야 할때가 가끔있습니다.
그냥 DB에 넣고 쿼리로 확인하거나 코딩해서 확인하고는 했었는데
데이타 수가 많지 않을경우 그냥 엑셀에서 바로 정규식을 활용할 수 있어서 매우 편합니다.
1. 엑셀에 VBA 에디터 실행
- Alt + F11 로 에디터 실행
2. 정규식 사용하기 위한 VBA 모듈 추가
정규식을 사용하기 위해 VBA 편집 에디터에서 [도구] > [참조] 메뉴를 선택하고
참조 팝업창이 출력되면 참조 목록에서 Microsoft VBScript Reqular Expressions 5.5 를 선택하고 [확인]을 선택합니다.
3. VBA 코드 입력
휴대폰 번호를 확인하는 정규식은 아래 표와 같습니다. (제가 여기저기서 짜집기 했습니다^^)
휴대폰 번호 확인 정규식 : "^(?:(010-?([0-9]{4}))|(01[1|6|7|8|9]-?([0-9]{3,4}))-?([0-9]{4})$"
- 010 일때는 4자리 4자리 번호, 그외 01X 일경우 3/4 자리 4자리 숫자를 받도록 함
휴대폰 번호 확인 샘플 코드
Public Function 휴대폰번호(ByVal PhoneNumber As String)
Dim regex As RegExp
Set regex = New RegExp
With regex
.IgnoreCase = True
.pattern = "^(?:(010-?([0-9]{4}))|(01[1|6|7|8|9]-?([0-9]{3,4})))-?([0-9]{4})$"
.Global = True
If .Test(PhoneNumber) Then
mStr = .Execute(PhoneNumber)(0)
휴대폰번호 = mStr '// 정상번호 일때
Else
휴대폰번호 = "N/A" '// 잘못된 번호 일때
End If
End With
End Function
4. VBA 코드 활용
참 쉽죠?
그럼 오늘은 여기까지...
To be continued -夜昧-