주소에서 중복부분만 제거하고 싶을 때
문의사항
"경기 광명시 소하동(소하동) 365번지" 이런식인 주소를
"경기 광명시 소하동 365번지" 로 바꾸고 싶어요.
"경기 광명시 소하1동(소하동)" 이렇게 앞뒤가 다른 말은 그대로 두고요.
주소처리하는 작업도 알아두면 좋을 거 같아서 작성을 해봤습니다.
수정해서 사용하실 분은 빨간색 글씨만 수정해서 사용하면 됩니다.
Sub juso_check()
Dim rngC As Range
Dim rngDB As Range
Dim startT As Byte '// (시작위치 변수 지정
Dim endT As Byte '// ( 마지막 위치 지정
Dim tempV, tempC As String
Application.ScreenUpdating = False '//화면 업데이트 (일시) 정지
Set rngDB = Range([A2], Cells(Rows.Count, "A").End(3))
'// 주소가 들어간 범위의 열의 마지막 데이터까지 자동 인식
For Each rngC In rngDB
startT = InStr(rngC, "(")
endT = InStr(rngC, ")")
tempV = Mid(rngC, startT + 1, endT - startT - 1) '// 괄호안의 글자
tempC = Mid(rngC, startT - Len(tempV), Len(tempV)) '//괄호안의 글자길이만큼의 앞의 글자
If tempV = tempC Then
rngC.Offset(0,1) = Left(rngC, startT - 1) & Mid(rngC, endT + 1, Len(rngC) - endT)
'// rngC.Offset(0,1) 은 오른쪽으로 1열 이동하라는 의미
'// 만약 값을 5열 정도 뒤로 이동하고자 한다면 rngC.Offset(0,5) 로 변경하세요
Else
rngC.Offset(0, 1) = rngC
End If
Next rngC
Set rngDB = Nothing '// 개체변수 초기화
Columns("B").AutoFit '// 주소를 추출한 열 자동 맞춤
MsgBox "작업완료"
End Sub
'업무 능력 향상 > 엑셀 VBA 활용' 카테고리의 다른 글
전화번호 다루기 (0) | 2014.05.23 |
---|---|
음력 - 양력 변환 VBA (0) | 2014.05.14 |
고급필터 AdvancedFilter (0) | 2014.02.19 |
AverageIF 함수를 사용하여 과목별 평균값 구하는 VBA (0) | 2014.02.18 |
특정 전화번호만 추출하기 (3) | 2014.02.16 |