content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width"> 엑셀 파일 복구 : Excel 오류
본문 바로가기
카테고리 없음

엑셀 파일 복구 : Excel 오류

by 이리오너라~ 2025. 2. 1.
반응형

 

엑셀파일이 손상되어 Excel의 자동 파일복구 모드가 동작하지 않아 엑셀파일을 열수 없을 경우

수동으로 엑셀파일을 복구할 수 있다. 아래의 방법대로 실행해 보자!

(적용대상: Excel 2016, Excel 2013, Excel 2010, Excel 2007)

 

[손상된 엑셀파일 수동 복구]

1.엑셀을 실행시킨후 열기(열기 및 복구)텝을 선택하여 열기를 해본다.

▷엑셀 2002버전 이상이면 열기텝의 삼각형 모양을 클릭하여 열기 및 복구로 엑셀파일 복구를 시도해 본다.

 

▷엑셀파일의 데이터를 최대한 많이 복구하려면 복구를 클릭.

▷복구 실패시 문서의 값과 수식만 추출하려면 데이터 추출을 클릭.

 

 

[손상된 엑셀파일에서 데이터 복구]

※ 디스크 오류나 네트워크 오류로 인해 엑셀파일을 열 수 없는 경우가 있으므로 복구 시도를 해보기 전

   엑셀파일을 다른 하드 드라이브로 복사 이동하여 데이터 복구를 시도해 본다.

 

1. 마지막으로 저장한 버전으로 되돌리기

▷엑셀파일을 편집하고 변경내용을 저장하기 전에 엑셀파일이 손상될 경우 마지막 버전으로 되돌려 엑셀파일을 복구한다.

▷파일 - 정보 - 통합문서관리 - 저장하지 않은 통합문서 복구 - 파일을 열어서 다른이름으로 저장.

( 파일 -열기 - 찾아보기로 파일을 찾을때 해당 파일을 더블 클릭하여 열기를 해도 마지막 파일이 열림)

 

 

2. SYLK(Symbolic Link) 형식으로 통합문서 저장

▷SYLK형식으로 엑셀파일을 저장하면 손상된 요소를 필터링 할 수 있다. (단, 현재 시트만 저장됨)

▷SYLK 형식으로 저장하면 .slk 파일로 저장된다. 새로 열어서 다른이름으로 엑셀통합문서로 저장한다.

(HTML 형식으로 저장해도 필터링이 가능하다)

 

 

3. 엑셀에서 계산 옵션을 [수동]으로 설정 후 열어본다.

▷엑셀파일 계산설정을 자동에서 수동으로 변경하면 엑셀이 열릴 수 있다.

 

 

▷ 새파일을 열고 옵션 - 수식 - 계산옵션을 수동으로 설정후 해당파일을 열어본다.

 

 

4. Word 또는 워드패드에서 엑셀파일을 열어본다.

▷엑셀파일을 워드나 워드패드에서 열 경우 셀 수식은 복구할 수 없고 수식결과만 복구된다.

 

 

5. 엑셀 뷰어에서 파일을 열어본다.

▷Microsoft Excel Viewer 가 설치되어 있다면 뷰어에서 엑셀파일을 열고 셀을 복사하여 새 통합문서에 

붙여넣어본다. 단 모듈, 대화상자, 차트, 매크로는 복사할 수 없으며 셀 수식도 마찬가지.

▷차트가 손상된 파일에 연결된 경우 매크로를 사용하여 데이터를 추출한다.

아래 매크로 코드를 복사한 후 모듈 시트에 붙여 넣는다.

 

 

Sub GetChartValues()
Dim NumberOfRows As Integer
 Dim X As Object
Counter = 2
 ' Calculate the number of rows of data.
NumberOfRows = UBound(ActiveChart.SeriesCollection(1).Values)
Worksheets("ChartData").Cells(1, 1) = "X Values"
 ' Write x-axis values to worksheet.
With Worksheets("ChartData")
.Range(.Cells(2, 1), _
 .Cells(NumberOfRows + 1, 1)) = _
 Application.Transpose(ActiveChart.SeriesCollection(1).XValues)
End With
 ' Loop through all series in the chart and write their values to
 ' the worksheet.
For Each X In ActiveChart.SeriesCollection
Worksheets("ChartData").Cells(1, Counter) = X.Name
With Worksheets("ChartData")
 .Range(.Cells(2, Counter), _
 .Cells(NumberOfRows + 1, Counter)) = _
Application.Transpose(X.Values)
 End With
  Counter = Counter + 1
Next
End Sub

 

▷새 워크시트를 통합문서에 삽입하고 이름을 ChartData로 바꾼다.

▷원본 데이터 값을 추출할 차트를 선택한다.

▷GetChartValues 매크로를 실행한다.( 차트의 데이터가 ChartData 워크시트에 삽입된다)

 

 

 

반응형