- 최초 작성일: 2000-10-05
- 최종 수정일: 2026-09-29
- 조회수: 23 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 잘못된 연산으로 Excel이 종료될 때
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
실컷 작업해 둔 Excel 파일이 어느 날, "잘못된 연산을 수행하여 프로그램이 종료됩니다… 어쩌구 저쩌구…" 하는 에러 메시지만 내뱉으며 작동이 안되는 경우가 종종 있습니다. 참으로 난감한 경우입니다만 이것보다 더 난감한 것은 이러한 상황에 처한 경우, 100% 자료복구를 장담할 수가 없다는 것입니다. Exceller는 지금까지 이런 경험을 직접적으로 한 적은 없지만 여러 건의 질문메일을 받았는데 아래의 정보를 참고하시기 바랍니다.
"잘못된 연산…" 에러 메시지는, (1) 특정 버튼(예를 들면 저장하기)을 눌렀을 경우 (2) 셀에 데이터를 입력할 경우 (3) 셀유형이 너무 많아 이것을 삭제하려고 할 경우
등 여러 가지 사유로 인해 발생하게 됩니다. 이런 메시지가 뜰 때, 신속하게 처리를 하지 않으면 곧 파일을 열 수 조차 없게 되며 영원히 복구가 안되게 됩니다.
파일을 열 수는 있는데 위 (1) ~ (3) 등의 사유로 인해 프로그램이 종료되는 경우, 아래의 방법을 사용해 보세요.
잘못된 연산으로 Excel이 종료될 때
핵심 요약
- 문제 파일을 열 수 있다면 먼저 백업한 뒤 새 통합문서를 만들고 각 시트의 내용을 복사해 복구를 시도할 수 있습니다.
- VBA 모듈이나 사용자 폼은 VB Editor의 내보내기·가져오기 기능으로 새 통합문서에 옮길 수 있습니다.
- Excel 95의 특정 KRNL386 오류는 레지스트리의 Excel 7.0 설정을 백업 후 이름을 바꾸어 초기화하는 방법으로 해결을 시도할 수 있습니다.
(1) 윈도우 탐색기(VBE의 프로젝트 탐색기 말고…)를 띄운 상태에서 문제가 생기는 파일을 복사해 둡니다.
(2) Excel을 실행시키고 문제의 파일을 불러옵니다.
(3) 새 통합문서를 하나 만든 다음, 문제 파일의 시트수와 똑같도록 합니다.
(4) 문제 파일의 첫번째 시트로 이동한 다음, Ctrl + A키를 눌러 시트 전체 영역을 선택하고 Ctrl + C키(또는 복사아이콘)를 누릅니다.
(5) 새 통합문서의 첫번째 시트의 A1 셀로 가서 Ctrl + V키(또는 붙여넣기)를 눌러 붙여넣기를 합니다.
(6) 다른 시트에 대해서도 (4) ~ (5) 과정을 반복합니다. 모듈시트나 유저폼이 있으면 VB Editor 상태에서 "파일-파일 내보내기/파일 가져오기" 메뉴를 사용해서 모듈과 유저폼도 추가시킵니다.
또 한 가지 오류
Excel 95를 실행하다 보면(아직 Excel 95를 사용하시는 분이 많지는 않을 것 같기는 합니다만…),
잘못된 연산을 수행하여 종료됩니다. 잘못된 페이지 오류 모듈 KRNL386.EXE에서 … 어쩌구 저쩌구…
이런 오류가 나타나는 경우도 가끔 있습니다. 이것은 레지스트리의 Excel 초기값 설정이 손상되어 그렇다는군요! 이런 상황에 처하신 분은 아래의 방법을 사용해 보세요.
참고: 이 절은 Excel 95와 Windows 95 시대의 내용입니다. 레지스트리를 직접 수정하면 시스템에 문제가 생길 수 있으므로 반드시 백업을 만든 뒤 진행하시기 바랍니다. 또한 원문 (4)~(5)에는 폴더 이름을 7.0에서 70.old로 바꾸라고 되어 있으며, 원래 이름을 알아볼 수 있는 이름으로 바꾸어 두면 필요할 때 되돌릴 수 있습니다.
(1) 레지스트리 파일(System.dat, User.dat)들을 복사해 둡니다(레지스트리를 잘못 건드렸거나 하여 에러가 발생했을 경우에 대비한 것이니까 반드시 복사해 두세요).
(2) "시작-실행" 메뉴를 선택한 다음, regedit을 입력하고 "확인" 버튼을 클릭합니다.
(3) HKEY_CURRENT_USER 폴더에서 Software\Microsoft\Excel 폴더를 차례대로 선택합니다.
(4) 7.0 폴더를 마우스 오른쪽 버튼으로 클릭한 다음 "이름바꾸기"를 선택합니다.
(5) 70.old라고 이름을 바꾼 다음 레지스트리 편집기를 종료하고, Excel을 재시작 합니다.
오늘은 여기까지…
정리 — 잘못된 연산으로 Excel이 종료될 때
| 구분 | 내용 |
|---|---|
| 증상 | 작업 중 "잘못된 연산을 수행하여 프로그램이 종료됩니다" 오류가 나타나고 파일을 열 수 없게 될 수 있음 |
| 발생 상황 | 저장 등 특정 버튼을 누를 때, 셀에 데이터를 입력할 때, 셀 유형이 너무 많아 삭제하려 할 때 |
| 복구 방법 1 | 문제 파일을 복사해 두고, 새 통합문서의 시트 수를 맞춘 뒤 시트별로 전체 복사 후 A1 셀에 붙여넣기 |
| 모듈·유저폼 | VB Editor의 파일 내보내기/가져오기로 새 통합문서에 추가 |
| 복구 방법 2 (Excel 95) | 레지스트리를 백업한 뒤 regedit으로 HKEY_CURRENT_USER의 Software\Microsoft\Excel 아래 7.0 폴더 이름을 바꾸고 Excel 재시작 |
자주 묻는 질문 (FAQ)
Q1. 잘못된 연산 오류가 나는데 파일은 열립니다. 어떻게 복구하나요?
문제 파일을 먼저 복사해 백업한 뒤 새 통합문서를 만들어 시트 수를 똑같이 맞춥니다. 그리고 각 시트에서 Ctrl+A와 Ctrl+C로 전체를 복사해 새 통합문서의 A1 셀에 붙여넣으면 됩니다.
Q2. 모듈이나 유저폼이 있는 파일은 어떻게 옮기나요?
VB Editor에서 파일 내보내기 메뉴로 모듈과 유저폼을 저장한 뒤 새 통합문서에서 파일 가져오기 메뉴로 추가합니다.
Q3. Excel 95의 KRNL386.EXE 오류는 어떻게 하나요?
레지스트리 파일을 백업한 뒤 regedit으로 HKEY_CURRENT_USER의 Software 아래 Microsoft, Excel 폴더로 이동해 7.0 폴더 이름을 바꾸고 Excel을 다시 시작합니다. 레지스트리의 Excel 초기값 설정이 손상된 경우에 시도하는 방법입니다.
마치며
문제가 생긴 파일은 복구를 시도하기 전에 반드시 복사본부터 만들어 두시기 바랍니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.