728x90

스프레트워크시트 프로그램인 엑셀은 여러가지 시트로 구성됩니다.

한개의 시트를 복사해서 붙여넣는 식으로 많이 사용하는데요.

그때그때 알아서 이름순으로 잘 정렬한다면 문제는 없겠지만 어느새 섞여있다면 정리하기가 어렵습니다.

시트를 정렬하는 방법에 대해서 알아보겠습니다.

 

 

1. 시트를 정렬하는 방법

 

① 마우스 클릭, 드래그 앤 드롭으로 옮기기

 

간단합니다. 그냥 마우스 드래그 앤 드롭으로 옮기는 것입니다.

단순한 만큼 쉽지만 조금만 시트가 많아져도 번거로운 방법입니다.

 

직접 옮기기

 

② 이동 / 복사 기능으로 옮기기

 

이동을 원하는 시트에 마우스 오른쪽 클릭을 하고 "이동/복사"를 선택합니다.

이 곳에서 원하는 시트 위치로 이동하거나 복사합니다.

다른 시트나 새로운 워크시트 파일을 만들기도 좋은 필수 기능 중에 하나입니다.

 

이동/복사로 옮기기

 

 

2. 시트를 정렬해주는 VBA 코드(+사용법)

 

위에 방법들이 자주 사용되는 방법이지만, 그것도 상식적인 경우에 입니다.

살다보면 워크시트가 수십개에서 백개가 넘는 파일도 만나게 됩니다.

그런 파일이 순서대로 정렬되지 않는 비정상적인 상황인 경우는 적겠지만 여튼 그럴 때를 위한 코드입니다.

 

① 개발도구 창을 엽니다.(Micro Visual Basic for Applications)

 

워크시트 중 하나를 마우스 오른쪽 클릭하여 "코드보기"를 선택하거나

단축기 Alt + F11을 누르면 개발도구 프로젝트가 활성화 됩니다.

 

개발 도구 열기

 

 

② 아래 코드를 복사해서 붙여넣습니다.

 

일단 2013과 365 버전에서 실행시에는 문제없이 작동되었습니다.

하지만 작업환경에 따라서 100% 실행된다는 보장은 드리기 힘드네요.

이 코드를 코드창에 복사해서 붙여넣습니다.

 

Sub SortSheets()
    Dim i As Integer
    Dim j As Integer
    Dim tempSheetName As String

    For i = 1 To Sheets.Count
        For j = 1 To Sheets.Count - 1
            If UCase(Sheets(j).Name) > UCase(Sheets(j + 1).Name) Then
                tempSheetName = Sheets(j).Name
                Sheets(j).Move After:=Sheets(j + 1)
                Sheets(j + 1).Move Before:=Sheets(tempSheetName)
            End If
        Next j
    Next i
End Sub

 

 

③ 실행합니다.

 

실행은 저 상태에서 단축키 "F5"를 누르거나, 상단의 ▶ 버튼을 누르면 작동합니다.

 

바로가기키

 

제 환경에서 실행한 결과입니다.

가나다 순으로 깔끔하게 정렬된 것을 볼 수 있습니다.

 

실행한 결과

 

 

 

 


 

처음에는 어렵지 않은 기능이라서 기본 기능이 있는 줄 알고 찾았습니다.

없다는 것을 알고 이렇게 방법을 찾아서 정리하게 되었습니다.

마이크로 소프트사에서 사용빈도가 높지 않다고 판단해서 없는 것일까요?

추후 버전업에서 기능이 추가 되지 않을까 생각되네요.

 

 

 

반응형

+ Recent posts