엑셀 파일은 데이터가 쌓일수록 용량이 급격히 커지기 쉽습니다. 이렇게 커진 파일은 저장 공간을 많이 차지할 뿐만 아니라 이메일이나 메신저로 공유할 때도 어려움을 겪게 됩니다. 이럴 때 파일을 압축(ZIP)하면 용량을 줄여 빠르고 간편하게 공유할 수 있습니다. 이 글에서는 엑셀 파일을 압축하는 3가지 방법을 단계별로 자세히 소개합니다.
엑셀 파일 압축 3가지 방법 한눈에 보기
이 글에서 다룰 세 가지 방법은 다음과 같습니다.
- 방법 1: 윈도우의 '보내기(Send)' 명령 활용하기
- 방법 2: 파일 확장자를 .zip으로 직접 변경하기
- 방법 3: VBA 코드로 자동 압축하기
1. 윈도우 '보내기' 명령으로 엑셀 파일 압축하기
가장 간단하고 빠른 방법으로, 윈도우 기본 기능만 사용하기 때문에 별도의 프로그램 설치가 필요 없습니다.
1단계:
- 먼저 압축할 엑셀 파일을 컴퓨터에서 찾기 쉬운 위치(예: 바탕화면)에 저장합니다.

2단계:
- 엑셀 파일을 선택한 후 마우스 오른쪽 버튼을 클릭합니다.
- 나타나는 메뉴에서 '보내기(Send to)' 항목을 선택합니다.
- 확장되는 하위 메뉴에서 '압축(zip) 폴더' 옵션을 클릭합니다.

3단계:
- 완료되면 원본과 동일한 이름의 .zip 확장자를 가진 압축 파일이 새로 생성된 것을 확인할 수 있습니다.

2. 파일 이름 변경으로 엑셀 파일 압축하기
이 방법은 엑셀 파일의 확장자를 직접 .zip으로 바꾸는 방식입니다. 단, 확장자가 화면에 보이도록 설정되어 있어야 하며, 압축을 해제하려면 다시 원래 확장자로 되돌려야 한다는 점에 유의하세요.
1단계:
- 압축할 엑셀 파일을 선택합니다.
- 파일 탐색기 상단의 '홈' 탭으로 이동합니다.
- '이름 바꾸기(Rename)' 버튼을 클릭합니다.

2단계:
- 파일 확장자 부분을 '.xlsx'에서 '.zip'으로 변경합니다.
- Enter 키를 누르면 경고 메시지 창이 나타납니다.

3단계:
- 메시지 창에서 '예(Yes)'를 클릭합니다.

4단계:
- 이제 엑셀 파일이 zip 형식으로 변환된 것을 확인할 수 있습니다.

3. VBA 코드로 엑셀 파일 압축하기
여러 파일을 반복적으로 압축해야 하는 경우라면 VBA 코드를 활용하는 것이 효율적입니다. 아래 단계를 따라 해 보세요.
1단계:
- 리본 메뉴에서 '개발 도구(Developer)' 탭을 클릭합니다.
- 'Visual Basic' 명령을 클릭해 VBA 편집기를 엽니다.

2단계:
- VBA 편집기 상단 메뉴에서 '삽입(Insert)'을 클릭합니다.
- '모듈(Module)'을 선택하면 코드 입력창이 열립니다.

3단계:
- 모듈에 아래 코드를 입력한 후 저장합니다.
Sub exceltoZipFile(ZipFolder As Variant, FileName As Variant)
'declaring an object
Dim shell_app As Object
'creating an empty zip file
Open FileName For Output As #1
Print #1, Chr$(80) & Chr$(75) & Chr$(5) & Chr$(6) & String(18, 0)
Close #1
'copying the excel file to the zip file
Set shell_app = CreateObject("Shell.Application")
shell_app.Namespace(FileName).CopyHere shell_app.Namespace(ZipFolder).items
End Sub
Sub zipped()
Call exceltoZipFile("D:\The Office\zip an excel file\", "D:\The Office\zippedfile.zip")
End Sub

VBA 코드 설명
- Sub exceltoZipFile(ZipFolder As Variant, FileName As Variant): 압축할 폴더 경로(ZipFolder)와 생성될 zip 파일 경로(FileName) 두 개의 인수를 받는 함수를 선언합니다.
- Dim shell_app As Object: 셸 작업에 사용할 개체 변수 shell_app을 선언합니다.
- Open FileName For Output As #1 ~ Close #1: 특정 문자 코드를 출력해 빈 zip 파일을 먼저 생성합니다. 이 문자 조합은 윈도우에게 빈 압축 파일을 만들라는 신호 역할을 합니다.
- Set shell_app = CreateObject("Shell.Application") ~ : 셸 응용 프로그램 개체를 통해 지정한 폴더의 파일들을 앞서 만든 빈 zip 파일로 복사합니다.
- Call exceltoZipFile("D:\The Office\zip an excel file\", "D:\The Office\zippedfile.zip"): 실제 경로를 인수로 전달하며 함수를 호출해 실행합니다.
4단계:
- 상단의 '실행(Run)' 탭을 클릭합니다.
- 드롭다운 메뉴에서 '실행(Run)' 명령을 선택해 코드를 실행합니다.

5단계:
- 코드 실행이 완료되면 지정한 경로에 엑셀 파일이 압축된 것을 확인할 수 있습니다.

마무리
용량이 큰 엑셀 파일은 저장 공간을 많이 차지하고 공유하기도 어렵지만, 압축하면 이런 문제를 손쉽게 해결할 수 있습니다. 이 글에서 소개한 세 가지 방법 중 상황에 맞는 방법을 선택하면 대용량 엑셀 파일도 효율적으로 관리할 수 있습니다. 초보자라면 1번 방법인 '보내기' 명령부터 시도해 보고, 반복 작업이 많다면 VBA 코드를 활용해 보세요. 궁금한 점이나 추가로 알고 싶은 내용이 있다면 댓글로 알려주세요.