xlsx.co.kr
Blog

엑셀 시트 분리 저장: 100개를 10초 만에 끝내는 3가지 방법

엑셀 파일의 여러 시트를 각각의 파일로 분리해야 할 때, 단순 반복 작업의 고통에서 벗어나세요. 가장 빠른 온라인 도구, 전통적인 수동 방법, VBA 자동화 코드까지 완벽 정리.

엑셀 시트 분리 저장: 100개를 10초 만에 끝내는 3가지 방법

‘2026년_부서별_실적.xlsx’ 파일 안에 ‘영업1팀’, ‘영업2팀’, ‘마케팅팀’ 등 30개 부서의 실적 시트가 각각 들어있습니다. 이제 각 팀장에게 해당 팀의 실적 파일만 개별적으로 보내야 합니다. 어떻게 하고 계신가요?

혹시 시트 탭을 하나하나 마우스 오른쪽 버튼으로 클릭해 ‘이동/복사’와 ‘새 통합 문서’를 선택하고, 파일 이름을 지정해 저장하는 작업을 30번 반복하고 있지는 않으신가요? 이 글에서는 지루한 반복 작업에서 벗어나 업무 효율을 10배 높여줄 3가지 시트 분리 방법을 소개합니다.

방법 1: 가장 빠른 ‘온라인 시트 분리기’ (100개도 10초 만에)

수십, 수백 개의 시트를 단 한 번의 클릭으로 각각의 엑셀 파일로 분리하고, ZIP 파일 하나로 깔끔하게 다운로드하는 가장 효율적인 방법입니다. 원본 파일을 망가뜨릴 걱정도, 시간이 오래 걸릴 걱정도 없습니다.

➡️ 엑셀 시트 분리기 바로가기
수십 개의 시트도 한 번에! 각 시트를 개별 엑셀 파일로 자동 분리하세요.

XLSX-Tool의 모든 도구와 마찬가지로, 이 시트 분리기는 파일을 서버에 업로드하지 않습니다. 모든 작업은 여러분의 PC 웹 브라우저 안에서만 안전하게 처리됩니다.

온라인 분리기 사용법 (3단계)

  1. 파일 업로드: 페이지에서 ‘파일 선택’ 버튼을 눌러 시트를 분리할 엑셀 파일을 올립니다.
  2. 자동 분리: 파일이 업로드되면 모든 시트를 각각의 파일로 분리하는 작업이 자동으로 시작됩니다.
  3. ZIP 파일 다운로드: 작업이 끝나면 분리된_파일.zip과 같은 이름의 압축 파일이 다운로드됩니다. 압축을 풀면 시트 이름으로 된 개별 엑셀 파일들이 들어있습니다.

방법 2: 엑셀 ‘이동/복사’ 기능 (전통적인 수동 방법)

가장 기본적인 방법으로, 2~3개 정도의 적은 시트를 분리할 때 유용합니다.

  1. 분리하고 싶은 시트의 탭 위에서 마우스 오른쪽 버튼을 클릭합니다.
  2. [이동/복사] 메뉴를 선택합니다.
  3. ‘이동/복사’ 대화 상자에서 [대상 통합 문서] 드롭다운을 클릭해 **[(새 통합 문서)]**를 선택합니다.
  4. 반드시 [복사본 만들기]에 체크 표시를 합니다. (체크하지 않으면 원본에서 시트가 아예 이동해버립니다!)
  5. [확인]을 누르면 해당 시트만 들어있는 새 엑셀 창이 뜹니다.
  6. 이 새 엑셀 파일을 원하는 이름으로 저장([파일] > [다른 이름으로 저장])합니다.
  7. 분리할 다른 시트가 있다면 위 과정을 반복합니다.

이 방법은 쉽지만, 시트가 많아지면 시간이 기하급수적으로 늘어나고 실수할 가능성도 커집니다.

방법 3: VBA 매크로로 자동화하기 (고급 사용자용)

만약 시트 분리 작업을 주기적으로 해야 하고, VBA(Visual Basic for Applications)에 대한 약간의 지식이 있다면 매크로를 활용해 완벽한 자동화를 구현할 수 있습니다.

VBA 코드 사용법

  1. 엑셀에서 Alt + F11 키를 눌러 VBA 편집기를 엽니다.
  2. 왼쪽 프로젝트 탐색기에서 현재 엑셀 파일을 선택하고, 상단 메뉴에서 **[삽입] > [모듈]**을 클릭합니다.
  3. 오른쪽에 나타나는 빈 코드 창에 아래 코드를 그대로 복사해 붙여넣습니다.
  4. VBA 편집기 창을 닫고 엑셀로 돌아와 Alt + F8 키를 누릅니다.
  5. ‘매크로’ 대화 상자에서 SplitSheetsToFiles를 선택하고 [실행] 버튼을 누릅니다.
' 모든 시트를 개별 통합 문서(파일)로 분리하여 저장하는 VBA 매크로
Sub SplitSheetsToFiles()
    Dim FilePath As String
    Dim CurrentSheet As Worksheet
    Dim NewBook As Workbook
    
    ' 사용자에게 저장할 폴더를 선택하라는 메시지 표시
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "시트를 저장할 폴더를 선택하세요."
        .AllowMultiSelect = False
        If .Show <> -1 Then Exit Sub '취소 버튼을 누르면 매크로 종료
        FilePath = .SelectedItems(1) & "\"
    End With
    
    ' 화면 업데이트를 잠시 멈춰 매크로 실행 속도 향상
    Application.ScreenUpdating = False
    
    ' 현재 통합 문서의 모든 시트를 순회
    For Each CurrentSheet In ThisWorkbook.Worksheets
        ' 시트를 새 통합 문서로 복사
        CurrentSheet.Copy
        
        ' 새로 만들어진 통합 문서를 변수에 할당
        Set NewBook = ActiveWorkbook
        
        ' 새 통합 문서를 시트 이름으로 저장
        ' 파일 이름에 사용할 수 없는 문자는 자동으로 제거
        NewBook.SaveAs FileName:=FilePath & CleanFileName(CurrentSheet.Name), _
                       FileFormat:=xlOpenXMLWorkbook ' XLSX 형식으로 저장
        
        ' 새 통합 문서 닫기
        NewBook.Close SaveChanges:=False
    Next CurrentSheet
    
    ' 화면 업데이트 재개
    Application.ScreenUpdating = True
    
    ' 완료 메시지 표시
    MsgBox "모든 시트가 지정된 폴더에 개별 파일로 저장되었습니다."
End Sub

' 파일 이름에 사용할 수 없는 문자를 제거하는 보조 함수
Function CleanFileName(str As String) As String
    Dim invalidChars As Variant
    invalidChars = Array("/", "\", "?", "%", "*", ":", "|", "\"", "<", ">")
    CleanFileName = str
    For i = LBound(invalidChars) To UBound(invalidChars)
        CleanFileName = Replace(CleanFileName, invalidChars(i), "")
    Next i
End Function

⚠️ 경고: VBA 코드는 강력하지만, 실행 전에는 항상 파일의 복사본을 만들어 안전하게 테스트하는 것이 좋습니다.

분리 작업 전후, 이것만은 확인하세요!

  • 분리 전: 시트 이름이 파일 이름이 되므로, Sheet1 대신 영업1팀_실적처럼 명확하게 바꿔주세요. 시트 간 VLOOKUP 같은 참조 수식이 있다면, 분리 후 오류가 발생할 수 있으니 미리 ‘값으로 복사’해두는 것이 안전합니다.
  • 분리 후: 다운로드한 ZIP 파일의 압축을 풀고, 파일 개수가 원본 시트 수와 맞는지, 파일 이름이 의도대로 생성되었는지 확인하세요.

결론: 상황에 맞는 최적의 도구 선택

  • 시트 2~3개 분리: 엑셀의 ‘이동/복사’ 기능으로 충분합니다.
  • 시트 4개 이상, 또는 가장 빠르고 안전한 방법 선호: 고민 없이 **‘온라인 시트 분리기’**를 사용하세요.
  • 매일 반복되는 작업의 자동화: VBA 매크로를 설정해두면 장기적으로 가장 효율적입니다.

단순 반복 작업에 더 이상 시간을 낭비하지 마시고, 상황에 맞는 스마트한 방법으로 ‘칼퇴’에 한 걸음 더 다가가시길 바랍니다.