주소 지역명 자동추출 VBA
엑셀을 다루다보면 주소를 정리해야 할 때가 있습니다.
주소에 나온 지역명을 2자리만 자동으로 추출하고 싶은 경우 아래 VBA 코드를 사용하면 금방 추출이 가능합니다.
시작하는 열과 시작행을 써주기만 하면 알아서 자동으로 우축에 지역명을 추출해 줍니다.
Sub 지역명추출()
Dim rngC As Range '// 각 Line 변수
Dim rngAll As Range '// 전체 범위 지정
Dim rngCh
Dim StartRow As Integer
Application.ScreenUpdating = False '// 화면 업데이트 (일시) 중지
rngCh = "D" '// 열지정
StartRow = 3 '// 데이터 시작행 설정
Set rngAll = Range(Cells(StartRow, rngCh), Cells(Rows.Count, rngCh).End(3)) '// 범위지정
If Cells(StartRow - 1, rngCh).Offset(0, 1) <> "지역" Then
Cells(StartRow - 1, rngCh).Offset(0, 1).EntireColumn.Insert
Cells(StartRow - 1, rngCh).Offset(0, 1) = "지역"
Cells(StartRow - 1, rngCh).Offset(0, 1).ColumnWidth = 6 '// 열너비 설정
End If
For Each rngC In rngAll
Select Case Left(rngC, 2)
Case "충청"
If Left(rngC, 4) = "충청북도" Then
rngC.Offset(0, 1) = "충북"
Else
rngC.Offset(0, 1) = "충남"
End If
Case "전라"
If Left(rngC, 4) = "전라북도" Then
rngC.Offset(0, 1) = "전북"
Else
rngC.Offset(0, 1) = "전남"
End If
Case "경상"
If Left(rngC, 4) = "경상북도" Then
rngC.Offset(0, 1) = "경북"
Else
rngC.Offset(0, 1) = "경남"
End If
Case Else
rngC.Offset(0, 1) = Left(rngC, 2)
End Select
Next rngC
rngAll.Offset(0, 1).HorizontalAlignment = xlCenter '// 지역명 열 가운데 정렬
Set rngAll = Nothing '// 변수 초기화 (메모리 할당 해제)
MsgBox "완료"
End Sub
'업무 능력 향상 > 엑셀 VBA 활용' 카테고리의 다른 글
중복개수 표시 VBA (효율적인 메모리, CPU 부하방지) (0) | 2014.12.12 |
---|---|
Replace 이용하여 주소에서 지역만 다시 정리 (0) | 2014.12.07 |
SRT 자막파일을 엑셀 VBA 로 편집 (0) | 2014.11.22 |
엑셀과 MySQL 연동처리 (2) | 2014.10.26 |
홀수행 또는 짝수행만 추출하는 VBA (0) | 2014.10.17 |