엑셀 파일 매크로 삭제하기

질문 : 매크로를 삭제했는데도 왜 매크로가 포함되어 있다는 메시지가 나타나는 것일까?

 

안녕하세요?
매크로를 이용해 작업의 자동화를 할 수 있다는 이야기를 듣고 매크로 실습을 위해 매크로 기록기를 이용해 매크로를 기록해 보았는데, 잘 되지 않아, 매크로를 분명 삭제했는데, 다음에 해당 문서를 열 때, 매크로가 포함되어 있다는 메시지가 나타나 당혹스럽다는 질문이 가끔 있습니다.
왜 매크로를 삭제했는데도 왜 매크로가 포함되어 있다는 메시지가 나타나는 것일까요?
그것은 매크로만을 삭제하는 것에만 그치지 않고 그 매크로를 담고 있는 모듈이란 것까지를 삭제해야 하는데 그렇지 않아서 그런 경우가 대부분이랍니다.
아래 순서대로 작업하십시오.
1. 도구 메뉴에서 매크로, VisualBasic Editor를 차례로 선택하거나 Alt + F11키를 눌러 VBA편집기를 엽니다.
2. VBA편집기의 보기 메뉴에서 프로젝트 탐새기를 선택하거나, Ctrl + R 키를 눌러 프로젝트 탐색기를 엽니다.
3. 매크로를 제거하려는 문서를 선택하고 트리의 최상단(루트)에 있는 + 기호를 눌러 해당 문서 프로젝트를 확장합니다.
4. 모듈이나 폼, 클래스 모듈이란 항목이 보이면 역시나 + 기호를 눌러 확장합니다.
각 모듈, 폼, 클래스 모듈을 선택하고, 파일 메뉴에서 해당 모듈이나, 폼을 제거를 선택하거나, 프로젝트 탐색기 창에서 해당 개체를 선택한 뒤, 마우스 오른쪽 단추를 눌러 빠른 메뉴를 호출해 해당 개체의 제거를 선택합니다.
아래 그림을 참고하십시오.

저장할 필요가 있다면, 예 그렇지 않다면 아니오를 누릅니다.(예를 누른 경우, 파일 내보내기 대화 상자가 나타나게 됩니다) 모듈이나, 폼, 클래스 모듈은 모두 이렇게 삭제합니다.
Alt + F11키를 눌러 엑셀로 되돌아 온 뒤, 파일 메뉴에서 저장을 누르거나, Ctrl + s로 저장합니다.
모듈까지도 삭제하고 저장한 뒤, 문서를 새로 열었는데도, 매크로가 포함되었다는 메시지가 나타는 경우가 있을 수 있습니다. 이런 경우,
위의 3단계까지를 반복합니다.
6. 위의 그림에서 보이듯, ThisWorkbook 모듈이나 Sheet1, Sheet2 등 각 시트를 포함하고 있는 문서 모듈을 프로젝트 탐색기에서 선택한 뒤, 더블 클릭을 하거나, 마우스 오른쪽 단추를 눌러 빠른 메뉴에서 코드보기를 선택해 해당 문서 모듈의 코드를 코드 창에 불러 옵니다.
7. ThisWorkbook이나 기타 시트의 문서 모듈에 코드가 기록되어 있다면, 코드창을 선택한 뒤 Ctrl + a로 전체 코드를 선택한 뒤 Del키를 눌러 삭제합니다.
문서 모듈에 있는 모든 코드를 삭제했음에도 매크로가 포함되어 있는 메시지가 나타날 수 있습니다. 이것은 엑셀 4.0 매크로가 해당 문서에 포함되어 있기 때문입니다.
매크로가 기록된 매크로 시트를 삭제합니다.(일반 시트의 삭제와 동일한 요령으로 합니다. 시트가 숨겨져 있을 수 있으므로, 서식 메뉴의 시트에서 숨기기 취소가 활성화 되어 있다면, 이 메뉴를 실행해 숨겨져 있는 매크로 시트의 숨기기를 취소합니다)
더불어, 이름에 매크로를 참조하고 있는 경우가 있을 수 있습니다.
삽입 메뉴의 이름 정의를 선택하고 이름 가운데, Auto_Open 또는 Auto_Close 등 Auto란 접두사를 붙인 이름이 있다면 모두 삭제합니다.
또는 참조 영역에, =Get.Cell(...) 등, 엑셀 내장함수가 아닌 함수가 포함되어 있는 이름은 모두 삭제합니다.
혹, 이름이 숨겨져 있는 경우가 있을 수 있으므로 아래 코드를 실행해 활성 문서의 모든 이름을 확인합니다.
Sub dhAllNameView()
Dim n As Name
    For Each n In ActiveWorkbook.Names
        n.Visible = True
    Next n
End Sub
혹, 모든 이름을 삭제하려면
Sub dhAllNameDelete()
Dim n As Name
    For Each n In ActiveWorkbook.Names
        n.Delete
    Next n
End Sub
라는 코드를 실행합니다.
주의! 매크로 바이러스에 감염된 경우, 모든 이름을 삭제하는 코드가 오류를 발생할 수도 있습니다. 이런 경우는 파일을 새로 만들어 문서를 복구해야 합니다.
만약, 이런 작업을 완료한 뒤에도 문제가 발생한 파일이 있다면, 묻고답하기 게시판에 해당 문서를 첨부해 질문주십시오.
참고 : 가끔 어떤 문서도 열지 않았는데 프로젝트 탐색기에 funcres라는 등의 프로젝트가 있고, 이것을 선택할 경우 암호를 묻는데, 이 것이 무엇이냐고 묻는 경우도 있습니다.

 

프로젝트 탐색기에 보이는 funcres는 MS에서 제공하는  추가기능인 분석도구이므로, 이 파일을 사용하지 않을 경우는 엑셀의 도구 메뉴에서 추가기능을 선택한 뒤, 분석도구의 체크를 해제해 언인스톨하십시오.
도움이 되셨습니까?
그럼...행운이 있으시길...!

Top