공부법

컴활 실기 매크로 자주 나오는 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값이 비어 있는지 확인

실기 매크로 공부 순서

  1. 위 7개 패턴의 골격을 손으로 직접 따라 쳐보기 (3회 반복)
  2. 빈칸 유형 기출문제로 패턴 인식 연습
  3. 모의고사 모드에서 매크로 문제만 따로 골라 풀기
  4. 완성된 코드를 보지 않고 처음부터 작성해보는 연습

정리

실기 매크로는 외워야 할 양이 많아 보이지만, 실제 출제 패턴은 한정되어 있습니다. 위 7가지 골격을 익히고 빈칸 유형으로 손에 붙이면 매크로 문제만으로 시간이 부족해지는 일은 없습니다.

실기는 "코드를 이해하기"보다 "패턴을 외워서 빠르게 적용하기"가 핵심입니다. 새 코드를 만들려고 하지 말고, 기출 패턴 그대로 쓰는 연습을 권장합니다.

← 목록으로 돌아가기