- 공유 링크 만들기
- X
- 이메일
- 기타 앱
이 글의 목적은 엑셀에서 빈번하게 발생하는 ‘응답 없음(Excel Not Responding)’ 현상을 신속하게 진단하고 재발을 예방할 수 있도록, IT 실무 관점에서 점검 순서·복구 절차·최적화 방법을 체계적으로 제공하는 것이다.
1. 문제 정의와 즉시 대응 순서
‘응답 없음’은 사용자가 트리거한 작업이 UI 메시지 루프를 장시간 점유하거나, I/O 지연, 외부 추가기능 충돌, 렌더링 교착, 계산 폭주 등으로 인해 응답 이벤트가 처리되지 못하는 상태를 의미한다.
- 작업 대기 시간 60초 미만이면 추가 대기 후 완료 여부를 확인한다.
- Esc를 눌러 진행 중인 대화상자·모달을 종료 시도한다.
- Ctrl+Shift+Esc로 작업 관리자 실행 후 CPU·디스크 100% 점유 프로세스가 엑셀 대비 외부 프로세스인지 확인한다.
- 저장되지 않은 변경이 크면 강제 종료 전에 자동복구 파일 위치를 메모한 뒤 종료 판단을 한다.
2. 빠른 진단: 증상→원인 매칭 표
| 대표 증상 | 가능 원인 | 즉시 점검 |
|---|---|---|
| 파일 열자마자 멈춤 | 손상된 서식/조건부서식, 손상된 개체, 버전 호환 이슈 | 안전 모드로 열기, 다른 PC·버전에서 열기 |
| 스크롤·선택이 끊김 | 하드웨어 가속 드라이버 충돌, 누적된 개체 수 | 그래픽 가속 해제, 개체 정리 |
| 저장·닫기 때 프리징 | 클라우드 동기화 지연, 백신 실시간 검사 | 로컬로 저장 후 업로드, 백신 예외 설정 |
| 특정 통합문서만 멈춤 | 순환 참조, 휘발성 함수 폭주, 거대한 피벗 캐시 | 수식 검사, 수동 계산 전환, 피벗 캐시 재생성 |
| 시작 시 멈춤 | Add-in/COM Add-in 충돌, XLSTART 자동로드 파일 | 안전 모드, 추가기능 단계적 비활성화, XLSTART 비우기 |
3. 안전 모드와 클린 부팅
안전 모드는 사용자 로드인과 하드웨어 가속을 배제하여 재현 여부를 분리하는 고효율 절차이다.
실행창 > excel /safe - 안전 모드에서 정상 작동하면 추가기능·가속·자동로드 범주를 의심한다.
- Windows 클린 부팅으로 타 앱 상호작용을 배제하고 재현을 확인한다.
4. 추가기능(Add-in)·COM 추가기능 충돌 제거
- 파일 > 옵션 > 추가 기능에서 하단 관리 드롭다운을 사용한다.
- Excel 추가 기능부터 모두 해제 후 재부팅·재실행한다.
- COM 추가기능을 하나씩 활성화하며 문제 범인을 찾는다.
| 분류 | 예시 | 비고 |
|---|---|---|
| Excel 추가기능 | 분석 도구, 솔버 | xlam/xla |
| COM 추가기능 | 프린터·PDF·DMS 연동 | 외부 DLL 의존 |
| 자동로드 | XLSTART 파일 | 시작 시 자동 열림 |
5. 그래픽 가속과 드라이버
UI 프레임 드롭과 응답 지연의 빈도가 높은 경우 하드웨어 그래픽 가속을 비활성화한다.
- 파일 > 옵션 > 고급 > 표시에서 하드웨어 그래픽 가속 사용 안 함을 체크한다.
- 디스플레이 드라이버를 최신 버전으로 갱신하고 재부팅한다.
- 다중 모니터 환경이면 주사율·확대 배율을 일치시킨다.
6. 계산 엔진 폭주 진단
대량 수식·휘발성 함수는 재계산 트리를 대폭 확장하여 UI 응답을 잠식한다.
- 자동 계산을 수동으로 전환한다.
파일 > 옵션 > 수식 > 계산 옵션 > 수동 - F9로 수동 계산을 수행하며 병목 시트를 특정한다.
- 휘발성 함수(OFFSET, INDIRECT, TODAY, RAND 등) 사용량을 줄인다.
- 테이블·구조적 참조로 범위를 고정하며, 필요 시 동적 배열 함수로 대체한다.
- 순환 참조 탐지 후 설계를 수정한다.
7. 외부 링크·네트워크 I/O 지연
외부 통합문서·웹 쿼리·파워쿼리·OLE/DDE 연결은 응답 대기 상태를 유발한다.
- 데이터 > 쿼리 및 연결에서 연결 상태를 확인하고 자동 새로 고침을 해제한다.
- 네트워크 경로가 느리면 로컬 복사본으로 작업 후 완료 시 업로드한다.
- 끊어진 외부 링크는 데이터 > 편집 링크에서 끊거나 값으로 고정한다.
8. 통합문서 구조 손상 복구
특정 파일만 멈춘다면 손상 가능성이 있다.
- 파일 > 열기 > 찾아보기 > 열기 옆 ▼ > 열기 및 복구를 선택한다.
- 복구 실패 시 새 통합문서로 시트별 복사·붙여넣기를 수행한다.
- 서식·개체 손상 의심 시 선택하여 붙여넣기 > 값으로 단계적 이식 후 네임 정의·서식을 재구성한다.
- VBA가 포함된 경우 VBE에서 모듈을 파일로 내보낸 뒤 새 통합문서에 가져온다.
9. XLSTART·캐시 파일 초기화
시작 시 즉시 멈춤이면 자동로드 요소를 의심한다.
- 사용자·시스템 XLSTART 폴더의 파일을 임시 폴더로 이동한다.
- Office 컨트롤 캐시(.exd)를 삭제한다.
- Excel 재등록을 수행한다.
실행창 > %appdata%\Microsoft\Excel\XLSTART 실행창 > %programfiles(x86)%\Microsoft Office\root\Office16\XLSTART (버전에 따라 경로 상이) 실행창 > del %temp%\*.exd 실행창 > excel /regserver 10. 백신·DLP·클라우드 동기화 영향
저장·닫기 시 프리징이 반복되면 실시간 검사와 동기화를 분리한다.
- 작업 폴더를 백신 예외로 등록한다.
- OneDrive·GDrive 등 동기화 클라이언트의 온디맨드 설정을 점검한다.
- 대용량 파일은 로컬에서 작업 후 완료 시 동기화한다.
11. 프린터·드라이버 의존성
엑셀은 페이지 레이아웃·인쇄 미리보기에서 기본 프린터 드라이버를 참조한다. 결함 드라이버는 화면 전환마다 프리징을 유발한다.
- 기본 프린터를 Microsoft Print to PDF로 임시 전환하여 재현 여부를 확인한다.
- 업체 드라이버를 최신 버전으로 갱신한다.
12. 조건부서식·형식 폭발과 개체 누수
복사·붙여넣기를 반복하면 중복 규칙·파편화된 형식이 지연을 만든다.
- 홈 > 조건부 서식 > 규칙 관리에서 범위를 워크시트 전체로 전환 후 중복 규칙을 통합한다.
- 셀 서식 정리: 필요 없는 사용자 지정 형식을 삭제한다.
- 개체 선택창(홈 > 찾기 및 선택 > 개체 선택)으로 숨은 개체를 일괄 삭제한다.
13. VBA 매크로로 인해 멈출 때
이벤트 루프 점유 또는 무한 루프가 응답 불가 상태를 만든다.
' 안전한 매크로 패턴 예시 Application.ScreenUpdating = False Application.EnableEvents = False Application.Calculation = xlCalculationManual On Error GoTo CleanExit
' ... 처리 로직 ...
CleanExit:
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
Application.ScreenUpdating = True
DoEvents를 삽입하여 UI 응답을 확보하되, 과도한 호출은 오버헤드를 증가시킨다.14. 숨은 대화상자·오프스크린 창
대화상자가 보이지 않는 상태에서 입력 대기 중이면 응답이 멈춘 것처럼 보인다.
- Alt+Tab으로 창을 순환하고 Alt+Space, M 후 화살표로 이동하여 화면 안으로 복귀한다.
- 모든 외부 모니터를 해제 후 기본 디스플레이만 사용하여 확인한다.
15. 버전·프로필·설치 이슈
- 최신 누적 업데이트를 적용한다.
- 새 Windows 사용자 프로필에서 동일 파일을 테스트하여 프로필 손상을 배제한다.
- Office 온라인 복구 또는 신뢰할 수 있는 설치 원본으로 재설치를 수행한다.
16. 데이터 모델·파워 피벗·파워 쿼리 최적화
대용량 모델은 쿼리 단계에서 데이터 축소와 타입 지정으로 비용을 줄인다.
- 불필요한 열 제거, 형 변환, 조인 키 정규화, 카디널리티 축소를 우선 적용한다.
- 증분 새로 고침 또는 부분 새로 고침 전략을 수립한다.
- 피벗 캐시 공유, 중복 캐시 제거, 필요 시 압축 저장 옵션을 확인한다.
17. 표준 운영 절차(SOP): 10분 해결 루틴
- excel /safe 실행한다.
- 추가기능 전면 해제 후 정상 동작 확인한다.
- 하드웨어 가속 해제한다.
- 수동 계산으로 전환하고 문제 시트를 특정한다.
- 외부 연결 자동 새로 고침 해제한다.
- XLSTART 비우고 .exd 삭제한다.
- 기본 프린터를 PDF로 전환한다.
- 백신 예외 폴더 등록 후 저장을 재시도한다.
- 열기 및 복구 또는 시트별 이식으로 구조 손상을 제거한다.
- 정상 확인 후 추가기능을 하나씩 복구하며 원인을 고정한다.
18. 성능·안정성 최적화 체크리스트
| 항목 | 권장 설정 | 빈도 |
|---|---|---|
| 자동 저장 | 1~5분 | 항상 |
| 계산 모드 | 대규모 파일 수동 | 파일별 |
| 조건부서식 | 범위 통합·중복 제거 | 월 1회 |
| 추가기능 | 필요 최소만 사용 | 분기 1회 |
| 그래픽 드라이버 | 최신 유지 | 상시 |
19. 현업에서 자주 놓치는 포인트
- 링크된 이미지·도형이 수천 개 누적되면 스크롤마다 인터럽트가 증가한다.
- 숨은 이름 정의가 수만 개 존재하면 저장 시 지연이 극심해진다.
- CSV 대용량 열기는 메모리 파편화를 유발하므로 Power Query로 단계 로드한다.
- 공유 통합문서 모드와 공동 작성이 혼재되면 충돌이 발생한다.
20. 자동 진단용 매크로 스니펫
아래 코드는 휘발성 함수 집계, 이름 정의 수, 조건부서식 규칙 수 등 병목 지표를 빠르게 수집하기 위한 예시이다.
Sub QuickHealthCheck() Dim ws As Worksheet, vCount As Long, cfCount As Long, nCount As Long Dim nm As Name Application.ScreenUpdating = False For Each ws In ActiveWorkbook.Worksheets cfCount = cfCount + ws.Cells.FormatConditions.Count vCount = vCount + WorksheetFunction.CountIf(ws.UsedRange, "<=NOW()") ' 간단 지표 Next ws For Each nm In ActiveWorkbook.Names nCount = nCount + 1 Next nm Debug.Print "CondFormats:", cfCount, "Names:", nCount, "VolatileProxy:", vCount Application.ScreenUpdating = True End Sub 21. 복구 전략 의사결정 트리
[시작] ├─ 안전 모드 정상? ── 예 ──> 추가기능 원인 탐지 │ └─ 하가속 해제, XLSTART 정리 └─ 아니오 ├─ 특정 파일만? ── 예 ──> 열기 및 복구, 시트 이식 │ └─ 수동 계산, 외부 링크 차단 └─ 전 파일 공통 ──> 드라이버/프린터, 백신/동기화, 재설치 22. 재발 방지 가이드
- 업무 표준 서식 템플릿을 경량화한다.
- 데이터는 외부 DB 또는 Power Query로 분리하여 로직과 표시를 분권화한다.
- 매크로는 이벤트 차단·수동 계산 패턴을 준수한다.
- 정기적 청소 작업으로 이름 정의·조건부서식을 슬림화한다.
FAQ
저장하지 못하고 강제 종료했다. 복구 가능성은 얼마나 되나?
자동복구 파일이 활성화되어 있으면 50% 이상 확률로 최근 상태 복구가 가능하다. 자동복구 폴더에서 확장자가 .xlsb 형태의 임시 파일을 확인한 뒤 최신 타임스탬프 파일을 우선 연다.
응답 없음이 10분 이상 지속되는데 기다려야 하나?
디스크·CPU가 낮고 네트워크 I/O가 정지 상태라면 교착 상태일 가능성이 높다. 로그를 확보하고 강제 종료 후 안전 모드 진단으로 전환한다.
특정 프린터에서만 인쇄 미리보기가 멈춘다.
해당 드라이버 문제일 확률이 높다. 기본 프린터를 Microsoft Print to PDF로 전환하여 정상 여부를 확인한 후 공급사 드라이버를 최신으로 교체한다.
파워쿼리 새로 고침 때만 멈춘다.
쿼리 단계에서 열 제거·형식 지정으로 데이터량을 줄이고, 배치 모드 또는 증분 새로 고침을 설계한다. 타임아웃 설정과 네트워크 경로 점검을 병행한다.
응답 없음이 간헐적으로 반복된다.
추가기능과 실시간 동기화가 동시에 개입할 수 있다. 업무 시간대에 동기화 대역폭을 제한하고, 추가기능을 필요 최소로 유지한다.