문제
다음 중 아래의 VBA 코드에 대한 설명으로 옳지 않은 것은?
① 일반 모듈이 아닌 워크시트 이벤트를 사용한 코드이다. ② [A1] 셀을 선택하면 [A1] 셀의 값이 메시지 박스에 표시된다. ③ VBA 코드가 작성된 워크시트에서만 동작한다. ④ [A1] 셀이 변경되면 [A1] 셀의 글꼴 색이 ColorIndex가 5인 색으로 변경된다.
정답
2번
해설
정답: 2. 이 코드는 Worksheet_Change 이벤트이므로 [A1] 셀을 '선택'할 때가 아니라 '값이 변경'될 때 동작한다. 따라서 [A1] 셀을 선택만 해서는 메시지 박스가 표시되지 않는다.
오답 풀이
- 1번: Worksheet_Change는 워크시트 이벤트 프로시저이므로 옳다.
- 2번: 선택이 아니라 변경 시 동작하므로 '선택하면 표시된다'는 옳지 않다.
- 3번: 워크시트 이벤트는 해당 코드가 작성된 시트에서만 동작하므로 옳다.
- 4번: [A1]이 변경되면 글꼴 색이 ColorIndex 5(파랑)로 바뀌므로 옳다.
보충 개념 Worksheet_Change는 값 변경 시, Worksheet_SelectionChange는 선택 위치 변경 시 발생한다. ColorIndex 5는 파란색이다.