전화번호 다루기
전화번호는 02,031 과 같은 유선전화번호와 010, 011, 016 과 같은 휴대폰번호, 070 인터넷전화번호, 1588, 1544와 같은 지능망번호, 특수번호 112, 119, 131 등이 있습니다.
아래 코드는 전체를 다 보기 편하게 분류할 순 없고 휴대폰, 유선번호, 인터넷번호만 편하게 정리하도록 했습니다.
휴대폰 번호만 보기좋게 정렬하고자 한다면 .....
=IF(LEN(SUBSTITUTE(A1,"-",""))=11,TEXT(SUBSTITUTE(A1,"-",""),"000-0000-0000"),TEXT(SUBSTITUTE(A1,"-",""),"000-000-0000"))
중간에 - 가 들어가 있는 경우에도 모두 공백으로 지우고 나서 TEXT 정렬을 합니다.
Sub 전화번호정리()
Dim rngAll As Range
Dim rngC As Range
Application.ScreenUpdating = False '// 화면 업데이트 (일시) 중지
ActiveCell.Select '// 현재셀이 위치한 곳
Set rngAll = Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column).End(3))
'Set rngAll = Selection '// 선택된 범위만 지정하려고 할 때
For Each rngC In rngAll
Select Case Len(rngC)
Case 8
rngC.Offset(0, 1).Value = Format(rngC.Value, "0000-0000")
Case 9
rngC.Offset(0, 1).Value = Format(rngC.Value, "00-000-0000")
Case 10
If Left(rngC, 2) = "02" Then
rngC.Offset(0, 1).Value = Format(rngC.Value, "00-0000-0000")
Else
rngC.Offset(0, 1).Value = Format(rngC.Value, "000-000-0000")
End If
Case 11
rngC.Offset(0, 1).Value = Format(rngC.Value, "000-0000-0000")
End Select
Next rngC
Set rngAll = Nothing '// 변수 초기화
MsgBox "완료"
End Sub
'업무 능력 향상 > 엑셀 VBA 활용' 카테고리의 다른 글
날씨정보 추출 (1) | 2014.06.22 |
---|---|
한 시트 파일을 여러개로 나눠 저장 (0) | 2014.06.14 |
음력 - 양력 변환 VBA (0) | 2014.05.14 |
[VBA] 주소에서 중복부분만 제거하고 싶을 때 (0) | 2014.03.07 |
고급필터 AdvancedFilter (0) | 2014.02.19 |