컴활 실기 매크로 자주 나오는 VBA 코드 패턴 7가지
실기 매크로, 어디까지 외워야 할까?
컴활 1급 실기에서 매크로(VBA) 문제는 보통 한 문제 또는 두 문제가 출제됩니다. 빈칸을 채우는 형식이 많고, 가끔 코드 전체를 작성해야 하는 경우도 있습니다.
응시자들이 실기에서 가장 많이 겁먹는 부분이 매크로지만, 실제로 출제되는 코드 패턴은 7~8가지로 한정되어 있습니다. 이 패턴만 손에 익혀두면 매크로 문제 자체에서 점수를 잃을 일은 거의 없습니다.
패턴 1. 폼 열기 / 닫기 / 이동
가장 기본 패턴입니다. 버튼을 누르면 다른 폼을 열거나 현재 폼을 닫는 구조.
Private Sub cmd열기_Click()
DoCmd.OpenForm "회원관리"
End Sub
Private Sub cmd닫기_Click()
DoCmd.Close
End Sub
빈칸 빈출:DoCmd.OpenForm의 두 번째 인수,DoCmd.Close의 폼 이름 인수
패턴 2. 폼에 필터 적용
콤보박스나 텍스트박스 값으로 폼에 필터를 거는 패턴. 가장 빈출되는 매크로 유형 중 하나입니다.
Private Sub cmd조회_Click()
Me.Filter = "부서코드 = '" & cmb조회 & "'"
Me.FilterOn = True
End Sub
핵심은 문자열 결합 시 작은따옴표 처리입니다. 숫자 필드면 따옴표 없이, 문자 필드면 양쪽에 작은따옴표를 붙여야 합니다.
빈칸 빈출:Me.Filter,Me.FilterOn, 따옴표 위치
패턴 3. 보고서 미리보기
버튼을 눌러 특정 보고서를 미리보기 형태로 여는 패턴.
Private Sub cmd출력_Click()
DoCmd.OpenReport "매출보고서", acViewPreview
End Sub
acViewPreview는 미리보기, acViewNormal은 바로 인쇄 모드입니다. 시험에서는 거의 미리보기로 출제됩니다.
패턴 4. 메시지박스 출력
조건에 따라 안내 메시지나 확인 메시지를 띄우는 패턴.
Private Sub cmd저장_Click()
If IsNull(Me.txt이름) Then
MsgBox "이름을 입력하세요.", vbCritical, "오류"
Else
DoCmd.RunCommand acCmdSaveRecord
End If
End Sub
빈칸 빈출:IsNull,vbCritical,vbInformation,vbQuestion등 아이콘 상수
패턴 5. 레코드 이동
이전·다음 레코드로 이동하는 매크로. 폼 하단의 네비게이션 버튼을 직접 만드는 패턴.
Private Sub cmd다음_Click()
DoCmd.GoToRecord , , acNext
End Sub
Private Sub cmd이전_Click()
DoCmd.GoToRecord , , acPrevious
End Sub
인수 자리에 콤마 두 개가 들어가는 점에 주의. 첫 번째·두 번째 인수는 보통 생략하고 세 번째만 사용합니다.
패턴 6. 레코드 추가 모드 진입
새 레코드를 입력할 수 있도록 폼을 추가 모드로 전환하는 패턴.
Private Sub cmd신규_Click()
DoCmd.GoToRecord , , acNewRec
End Sub
또는 폼 자체를 새 레코드 모드로 여는 방식:
Private Sub cmd신규입력_Click()
DoCmd.OpenForm "회원입력", , , , acFormAdd
End Sub
패턴 7. 폼 종료 시 확인 메시지
폼을 닫기 전에 사용자에게 저장 여부를 묻는 패턴. vbYesNo 옵션이 핵심입니다.
Private Sub cmd종료_Click()
Dim 응답 As Integer
응답 = MsgBox("저장하고 종료할까요?", vbYesNo + vbQuestion, "확인")
If 응답 = vbYes Then
DoCmd.RunCommand acCmdSaveRecord
End If
DoCmd.Close
End Sub
코드 외 빈출 키워드 정리
| 키워드 | 역할 |
|---|---|
Me | 현재 폼 자기 자신 |
DoCmd | 액세스의 표준 명령 실행 |
RunCommand | 메뉴 명령 실행 (저장, 인쇄 등) |
acCmdSaveRecord | 현재 레코드 저장 |
acViewPreview | 보고서 미리보기 모드 |
vbYesNo / vbCritical | 메시지박스 버튼·아이콘 옵션 |
IsNull | 값이 비어 있는지 확인 |
실기 매크로 공부 순서
- 위 7개 패턴의 골격을 손으로 직접 따라 쳐보기 (3회 반복)
- 빈칸 유형 기출문제로 패턴 인식 연습
- 모의고사 모드에서 매크로 문제만 따로 골라 풀기
- 완성된 코드를 보지 않고 처음부터 작성해보는 연습
정리
실기 매크로는 외워야 할 양이 많아 보이지만, 실제 출제 패턴은 한정되어 있습니다. 위 7가지 골격을 익히고 빈칸 유형으로 손에 붙이면 매크로 문제만으로 시간이 부족해지는 일은 없습니다.
실기는 "코드를 이해하기"보다 "패턴을 외워서 빠르게 적용하기"가 핵심입니다. 새 코드를 만들려고 하지 말고, 기출 패턴 그대로 쓰는 연습을 권장합니다.