엑셀 VBA 매크로 시트 오름차순 내림차순 정렬 하기

엑셀 VBA 매크로 시트 오름차순 내림차순 정렬 하기

엑셀에서 문서 작업을 하면 여러 시트를 생성하게 됩니다. 한두 개의 시트를 추가로 생성 후
정렬하는 것은 시트 클릭 후 드래그해서 수동으로 정렬할 수 있는데요.
시트가 자주 추가되거나 시트가 많은 경우 하나씩 수동으로 금방 하기엔 무리가 있습니다.
매크로 프로그램으로 시트 정렬을 하면 금방 정렬 되는데요.

엑셀 VBA룰 이용해서 오름차순, 내림 차순 워크시트 정렬 하는 방법을 알아보겠습니다.

엑셀 샘플을 준비했습니다. 시트가 여러 개 생성되어 있는데요. 시트가 정렬되어 있지 않습니다.




시트를 정렬하기 위해 "Alt + F1" 키를 클릭해서 Microsoft Visual Basic for Applications를 실행합니다.




Microsoft Visual Basic for Applications가 실행되면 좌측 시트트리에서 마우스 오른쪽 버튼을 클릭합니다.
메뉴가 열리면 [삽입]-[모듈]을 클릭해주세요.




새로운 모듈 창이 열립니다.
새로운 창이 다음 코드를 복사해서 붙여넣기 합니다. 

 


Sub SortSheets()

Dim i As Integer
Dim j As Integer
Dim iAnswer As VbMsgBoxResult

iAnswer = MsgBox("시트를 오름 차순으로 정렬하시겠습니까?" & Chr(10) _
& "내림 차순은 아니오를 눌러주세요", _
vbYesNoCancel + vbQuestion + vbDefaultButton1, "Sort Worksheets")
    For i = 1 To Sheets.Count
        For j = 1 To Sheets.Count - 1
            If iAnswer = vbYes Then
                If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then
                    Sheets(j).Move After:=Sheets(j + 1)
                End If
            ElseIf iAnswer = vbNo Then
                If UCase$(Sheets(j).Name) < UCase$(Sheets(j + 1).Name) Then Sheets(j).Move After:=Sheets(j + 1)
            End If
        Next j
    Next i
End Sub


 


엑셀로 이동 후 상단 메뉴 중 [개발 도구]-[매크로] 또는 [보기]-[매크로]를 선택합니다.


 

매크로 창이 열리면 SortSheets를 선택 후 [실행] 버튼을 클릭합니다.




"시트를 오름 차순으로 정렬하시겠습니까?"라는 메시지가 나오면 [예]를 클릭합니다.




시트가 오름차순으로 정렬되었습니다.




내림차순으로 정렬하시려면 메시지 창에서 [아니오]를 클릭하시면 됩니다.

엑셀 VBA 매크로 시트 오름차순 내림차순 정렬 하기를 알아보았습니다.