문제
VBA 매크로 코드에서 Application.EnableEvents 속성을 False로 설정하는 주된 목적은?
① 매크로 실행 중 화면 깜빡임을 방지하여 성능을 향상시키기 위해 ② 매크로 실행 중 발생하는 이벤트 프로시저의 연쇄 실행을 차단하기 위해 ③ 매크로 실행 중 사용자의 키보드 입력을 일시적으로 비활성화하기 위해 ④ 매크로 실행 중 자동 저장 기능을 비활성화하여 파일 충돌을 방지하기 위해
정답
2번
해설
Application.EnableEvents를 False로 설정하면 매크로 실행 중 Worksheet_Change, Workbook_SheetChange 등의 이벤트 프로시저가 자동으로 실행되는 것을 방지한다. 이는 무한 루프나 의도하지 않은 이벤트 연쇄 실행을 막기 위한 고급 VBA 프로그래밍 기법이다. ①은 ScreenUpdating, ③④는 다른 속성의 역할이다.