'지역 추출 VBA'에 해당되는 글 1건

728x90

주소 지역명 자동추출 VBA


엑셀을 다루다보면 주소를 정리해야 할 때가 있습니다.

주소에 나온 지역명을 2자리만 자동으로 추출하고 싶은 경우 아래 VBA 코드를 사용하면 금방 추출이 가능합니다.

시작하는 열과 시작행을 써주기만 하면 알아서 자동으로 우축에 지역명을 추출해 줍니다.


지역명추출.vbs


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


블로그 이미지

Link2Me

,