Excel에서 워크시트 또는 통합 문서 "뒤"의 VBA 코드가 작동 하지 않을 수 있음


이 문서의 Microsoft Excel 97 버전에 대 한 자세한 내용은 157346 을 참조 하세요.이 문서의 Microsoft Excel 98 버전에 대 한 자세한 내용은 182482 을 참조 하세요.

증상


Microsoft Office Excel에서 워크시트 또는 통합 문서 "숨김"이 포함 된 Microsoft VBA (Visual Basic for applications) 매크로 코드가 제대로 작동 하지 않을 수 있습니다.

원인


이 문제는 다음 두 조건에 모두 해당 하는 경우에 발생 합니다.
  • 문제의 코드는 자동으로 실행 되는 서브루틴 (예: Auto_Open 또는 Auto_Close 서브루틴)에 포함 되어 있습니다.
  • 이 코드는 Visual Basic 모듈에는 포함 되어 있지 않지만 워크시트나 통합 문서 자체의 "뒤"에는 없습니다.

해결 방법


Microsoft Excel에서 자동으로 실행 되는 서브루틴이 제대로 작동 하려면 Visual Basic 모듈에 포함 되어 있어야 합니다. 통합 문서에 Visual Basic 모듈을 삽입 한 다음 새 모듈에 코드를 배치 해야 합니다. Visual Basic 모듈을 삽입 하려면 다음을 실행 합니다.
  1. Visual Basic Editor의 프로젝트 탐색기 에서 문제의 코드가 포함 된 통합 문서를 활성화 합니다.
  2. 삽입 메뉴에서 모듈을 클릭합니다.
새 모듈을 삽입 한 후에는 원래 위치에서 코드를 잘라내어 Visual Basic 모듈에 붙여넣습니다. 그런 다음 통합 문서를 저장 합니다.

추가 정보


Excel에서 VBA 코드는 Visual Basic 모듈, Visual Basic 클래스 모듈 및 "뒤쪽"의 세 가지 위치에 저장할 수 있습니다. 워크시트 또는 통합 문서 "뒤쪽"의 코드를 편집 하려면 다음을 실행 합니다.
  1. Visual Basic Editor를 활성화 합니다 (ALT + F11 누름).
  2. 프로젝트 탐색기 창에 다음과 같은 항목이 표시 됩니다.
         VBAProject (Book1)         Microsoft Excel Objects            Sheet1 (Sheet1)            Sheet2 (Sheet2)            Sheet3 (Sheet3)            ThisWorkbook                  Modules             Module1 
워크시트 이름 또는 ThisWorkbook중 하나를 두 번 클릭 하면 코드 창에 코드를 입력할 수 있습니다. Visual Basic 모듈에 포함 되지 않은 이러한 코드는 워크시트나ThisWorkbook 에 "숨겨진" 것으로 간주 됩니다. Auto_Open, Auto_Close또는 자동으로 실행 되 는 서브루틴이 "뒤쪽"으로 저장 되는 경우 통합 문서를 열거나 닫을 때 또는 서브루틴을 실행해야 하는 작업을 수행할 때 제대로 작동 하지 않을 수 있습니다.