증상
Microsoft Office Excel에서 워크시트 또는 통합 문서에 "숨김"이 포함된 Microsoft VBA(Visual Basic for Application) 매크로 코드가 제대로 작동하지 않을 수 있습니다.
원인
이 문제는 다음 조건 모두에 해당하는 경우 발생합니다.
-
문제의 코드는 자동으로 실행되는 서브루틴(예: Auto_Open 또는 Auto_Close 서브루틴) 내에 포함되어 있습니다.
-
코드는 Visual Basic 모듈에 포함되지 않고 워크시트 또는 통합 문서 자체의 "숨김"에 포함되어 있습니다.
해결 방법
자동으로 실행되는 하위 경로가 Microsoft Excel에서 올바르게 작동하려면 Visual Basic 모듈 내에 포함되어야 합니다.
Visual Basic 모듈을 통합 문서에 삽입한 다음 새 모듈에 코드를 배치해야 합니다. Visual Basic 모듈을 삽입하려면 다음을 수행합니다.-
Visual Basic Editor의 프로젝트 Explorer 해당 코드가 포함된 통합 문서를 활성화합니다.
-
삽입 메뉴에서 모듈을 클릭합니다.
새 모듈을 삽입한 후 원래 위치에서 코드를 잘라 Visual Basic 모듈에 붙여넣습니다. 그런 다음 통합 문서를 저장합니다.
추가 정보
Excel에서 VBA 코드는 Visual Basic 모듈, Visual Basic 클래스 모듈, 워크시트 및 통합 문서 "숨김"의 세 가지 위치에 저장할 수 있습니다.
워크시트 또는 통합 문서를 "숨김" 코드로 편집하려면 다음을 수행합니다.-
Visual Basic Editor를 활성화합니다(Alt+F11을 누릅니다).
-
프로젝트 Explorer 창에 다음과 유사한 항목이 표시됩니다.
VBAProject (Book1)
Microsoft Excel Objects
Sheet1 (Sheet1)
Sheet2 (Sheet2)
Sheet3 (Sheet3)
ThisWorkbook
Modules
Module1
워크시트 이름 또는 ThisWorkbook 중 하나를 두 번 클릭하면 코드 창에 코드를 입력할 수 있습니다. Visual Basic 모듈에 포함되지 않은 이러한 코드는 워크시트에서 "숨김"으로 간주되거나
ThisWorkbook . Auto_Open, Auto_Close 또는 기타 자동으로 실행되는 서브루틴이 워크시트 또는 ThisWorkbook을 "숨김"에 저장한 경우 통합 문서를 열거나 닫거나 서브루틴이 실행되도록 하는 작업을 수행할 때 제대로 작동하지 않을 수 있습니다.