상세 컨텐츠

본문 제목

'셀 서식이 너무 많습니다.' 엑셀 바이러스 퇴치

기타

by ElecMania 2011. 3. 7. 10:46

본문


1. 원인

  * 매크로 바이러스에 의해 자동으로 생성된 셀 서식이 엑셀의 허용 갯수를 넘어 발생.


  - 엑셀의 Workbook은 약 4,000개의 서로 다른 셀 서식 조합을 가질 수 있습니다. 
(셀 서식 조합이라는 것은 글꼴 서식(예- 글꼴 종류, 크기, 기울임, 굵은 글꼴, 밑줄 등)이나 괘선(괘선의 위치, 색상 등), 무늬나 음영, 표시 형식, 맞춤, 셀 보호 등을 포함합니다.) 이 셀 서식이 엑셀의 한계를 벗어나는 경우 엑셀에서는 "셀 서식이 너무 많습니다."라는 오류 메시지를 발생시킵니다. 4,000개의 셀 서식은 엑셀에서 일반적으로 사용하기에 아주 충분한 숫자이지만, 매크로 바이러스들이 대부분 엑셀 파일에 [셀 서식]과 [유형]을 자동적으로 추가하는데, 이런 파일들에서 셀 서식이 엑셀의 한계를 벗어 나기란 아주 쉬운 일입니다.

 

2. 해결 방법

  * 매크로 바이러스에 의해 생성된 셀 서식을 삭제해야 합니다.

1) [도구]-[매크로]-[매크로] 메뉴를 클릭합니다. ( Office 2007은 [보기]-[매크로] 에서 매크로 글자위의 이미지 클릭 )

      

2) 매크로 이름 입력란에 "셀서식삭제"를 입력 후 [만들기]버튼을 클릭합니다.

     

3) 매크로 편집창이 열리면 아래 코드를 붙여넣기 후 창을 닫습니다.

Dim n As Integer, yn As Byte
On Error Resume Next

For n = ActiveWorkbook.Styles.Count To 1 Step -1
    If Not (ActiveWorkbook.Styles(n).Name = "Normal") Then
        ActiveWorkbook.Styles(n).Delete
    End If
Next

※ 이름이 중복된다고 나올 시 아래 코드 추가

Dim tName As Name
On Error Resume Next

For Each tName In Names
    tName.Delete
Next tName

     

4) 다시 [도구]-[매크로]-[매크로] 메뉴( Office 2007은 [보기]-[매크로] 에서 매크로 글자위의 이미지 클릭 )를 클릭하여 매크로 창을 연 후 방금 생성한 "셀서식삭제" 매크로를 실행 시킵니다.

     

5) [파일]-[다른이름으로 저장] 메뉴에서 "웹 페이지"로 저장 후 현재 열려 있는 창을 종료 후 "웹 페이지"로 저장 한 파일을 엑셀에서 불러오기 합니다.

6) 다시 다른 이름으로 저장 메뉴에서 원래대로 "Excel 통합문서" 로 저장 하고 종료 후 다시 열어 확인해 봅니다.

궁금한 점이나 함께 토론하고 싶은 주제가 있으면 댓글 또는 방명록에 남겨 주세요 ^^

관련글 더보기

댓글 영역