2026_최신기출유형_05회
-3. 프로시저 작업 5/15
-조회 프로시저 X cmd조회_Click이 없습니다.
-종료 프로시저 X Worksheet_Change이 없습니다.
-----
05회 기타작업 3번의 Worksheet_Change 이벤트 프로시저를 Sheet8(기타작업-2) 코드 창에 작성하고, 매크로 사용 통합 문서(.xlsm)로 저장 후 재업로드·재채점을 여러 차례 진행했습니다.
작성 코드는 다음과 같습니다.
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Activate
Target.Font.Name = "굴림"
Target.Font.Size = 13
End Sub
문제 지시사항과 일치하는데도 채점 결과에 “Worksheet_Change이 없습니다”라고 표시됩니다. 확인 부탁드립니다.
안녕하세요.
첨부 화면을 보면 Worksheet_Change 프로시저는 실제로 Sheet8(기타작업-2) 코드 모듈에 정상적으로 존재합니다.
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Activate
Target.Font.Name = "굴림"
Target.Font.Size = 13
End Sub따라서 화면에 보이는 코드 자체 때문에 채점기가 "Worksheet_Change이 없습니다"라고 판단한 것은 아닙니다. 이 메시지는 보통 채점기가 기대하는 위치와 실제 프로시저가 들어 있는 위치가 다를 때 발생합니다.
특히 화면을 보면 통합문서에는 다음 시트가 있습니다.
Sheet1 (기타작업-3)
...
Sheet7 (기타작업-1)
Sheet8 (기타작업-2)Worksheet_Change는 현재 Sheet8(기타작업-2) 안에 있습니다. 그런데 해당 문제의 지시사항에서 이벤트 프로시저를 작성하라고 한 대상이 실제로 어느 시트인지를 다시 확인할 필요가 있습니다. Worksheet_Change는 일반 모듈에 넣는 매크로가 아니라 해당 워크시트 개체의 이벤트 프로시저이므로, 코드 내용이 완벽해도 다른 시트 모듈에 작성하면 채점 프로그램은 “없음”으로 판정합니다.
또한 채점 결과가
조회 프로시저 X
cmd조회_Click이 없습니다.
종료 프로시저 XWorksheet_Change이 없습니다.
라고 동시에 나오는 점도 중요합니다. cmd조회_Click은 보통 사용자 폼 코드 모듈에 있어야 하고, Worksheet_Change는 지정된 워크시트 코드 모듈에 있어야 합니다. 따라서 이번에는 코드 문법보다는 각 프로시저가 채점기가 요구하는 개체 모듈에 들어 있는지를 먼저 확인하는 것이 맞습니다.
그리고 화면 아래에 자동으로 생긴
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub는 빈 이벤트이므로 Worksheet_Change 채점과는 관계가 없습니다. 삭제해도 되고 그대로 두어도 기능상 문제는 없습니다.
따라서 현재 화면만 기준으로는 Worksheet_Change 코드 작성 자체는 정상입니다. 다음으로 확인해야 할 핵심은 05회 기타작업-3의 해당 문제 원문에서 Worksheet_Change를 어느 시트에 작성하라고 했는지입니다. 그 문제 지시사항이나 05회 파일 자체를 올려주시면 제가 시트 위치까지 대조해서 왜 채점 프로그램이 “없음”으로 읽는지 정확히 짚어드릴 수 있습니다.
즐거운 하루 되세요.
-
관리자2026-09-02 19:10:46
안녕하세요.
첨부 화면을 보면
Worksheet_Change프로시저는 실제로 Sheet8(기타작업-2) 코드 모듈에 정상적으로 존재합니다.Private Sub Worksheet_Change(ByVal Target As Range) Target.Activate Target.Font.Name = "굴림" Target.Font.Size = 13 End Sub따라서 화면에 보이는 코드 자체 때문에 채점기가 "
Worksheet_Change이 없습니다"라고 판단한 것은 아닙니다. 이 메시지는 보통 채점기가 기대하는 위치와 실제 프로시저가 들어 있는 위치가 다를 때 발생합니다.특히 화면을 보면 통합문서에는 다음 시트가 있습니다.
Sheet1 (기타작업-3) ... Sheet7 (기타작업-1) Sheet8 (기타작업-2)Worksheet_Change는 현재 Sheet8(기타작업-2) 안에 있습니다. 그런데 해당 문제의 지시사항에서 이벤트 프로시저를 작성하라고 한 대상이 실제로 어느 시트인지를 다시 확인할 필요가 있습니다.Worksheet_Change는 일반 모듈에 넣는 매크로가 아니라 해당 워크시트 개체의 이벤트 프로시저이므로, 코드 내용이 완벽해도 다른 시트 모듈에 작성하면 채점 프로그램은 “없음”으로 판정합니다.또한 채점 결과가
조회 프로시저 X
cmd조회_Click이 없습니다.
종료 프로시저 XWorksheet_Change이 없습니다.라고 동시에 나오는 점도 중요합니다.
cmd조회_Click은 보통 사용자 폼 코드 모듈에 있어야 하고,Worksheet_Change는 지정된 워크시트 코드 모듈에 있어야 합니다. 따라서 이번에는 코드 문법보다는 각 프로시저가 채점기가 요구하는 개체 모듈에 들어 있는지를 먼저 확인하는 것이 맞습니다.그리고 화면 아래에 자동으로 생긴
Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub는 빈 이벤트이므로
Worksheet_Change채점과는 관계가 없습니다. 삭제해도 되고 그대로 두어도 기능상 문제는 없습니다.따라서 현재 화면만 기준으로는
Worksheet_Change코드 작성 자체는 정상입니다. 다음으로 확인해야 할 핵심은 05회 기타작업-3의 해당 문제 원문에서Worksheet_Change를 어느 시트에 작성하라고 했는지입니다. 그 문제 지시사항이나 05회 파일 자체를 올려주시면 제가 시트 위치까지 대조해서 왜 채점 프로그램이 “없음”으로 읽는지 정확히 짚어드릴 수 있습니다.즐거운 하루 되세요.