본문 바로가기
#4 VBA/#4.1 환경설정 및 기본개념

매크로 기록 기능 사용법 완벽 가이드

by 이세계의엑셀 2024. 12. 29.
반응형

매크로 기록 기능 사용법을 통해 엑셀 자동화를 간편하게 구현할 수 있다. 반복되는 작업을 손쉽게 매크로로 기록하고, 필요에 따라 VBA 코드를 수정해 더욱 강력한 자동화를 완성해보자.

매크로 기록 기능 사용법을 정확히 숙지하면, 엑셀(Excel)에서 반복 업무를 자동화하는 절차가 한층 단순화된다. 버튼 하나만 누르면 복사·붙여넣기, 서식 적용, 시트 이동 같은 단계를 빠르게 재현할 수 있기 때문이다. 특히 프로그래밍 지식이 없어도 가능한 점이 매력적이다. 여기서는 매크로 기록 기능 사용법을 세세하게 다루고, 상세 예시와 코드를 통해 실제 업무 상황에서 어떻게 적용할 수 있는지 살펴보겠다.

반응형

매크로 기록 기능의 장점

  • 쉽고 직관적인 접근
    매크로 기록 기능 사용법을 익히면, 엑셀에서 사용자가 직접 수행하는 일련의 동작을 그대로 녹화해 재생할 수 있다. 이때 별도의 프로그래밍 기술 없이도 자동화할 수 있기에, 초급 사용자도 쉽게 접근 가능하다.
  • 불필요한 반복 작업 해소
    매일 혹은 일정 주기로 동일한 형식의 작업을 반복하는 경우, 매크로 기록 기능 사용법을 통해 작업 단계를 매크로로 간단히 묶어둘 수 있다. 이렇게 하면 번거로운 반복에서 벗어나 핵심 업무에 더 많은 시간을 투자할 수 있게 된다.
  • 업무 표준화 및 속도 향상
    매크로 기록 기능 사용법을 적용해 특정 프로세스를 표준화해두면, 사용자가 바뀌더라도 동일한 방법으로 작업 결과를 얻을 수 있다. 보고서 작성, 데이터 정리, 필터링, 시트 이동이 필요한 경우 등에서 업무 품질이 균일해지는 동시에 처리 속도도 빨라진다.
  • VBA 학습의 발판
    매크로 기록 기능으로 생성된 코드를 VBA 에디터에서 살펴보면, 자동화 절차가 어떻게 프로그래밍으로 표현되는지 배울 수 있다. 향후 If 문, For 루프 등을 추가해 고급 로직을 구현하는 데에도 큰 도움이 된다.

매크로 기록 시작 전 준비 사항

개발 도구 탭 활성화

  • 엑셀에서 매크로 기록 기능 사용법을 실습하려면, 먼저 [개발 도구] 탭이 켜져 있어야 한다.
  • [파일] → [옵션] → [리본 사용자 지정] → ‘개발 도구(Developer)’ 항목에 체크를 넣으면 된다.

매크로 보안 수준 확인

  • 외부에서 받은 엑셀 파일에 포함된 매크로가 자동 차단될 수 있으므로, [개발 도구] 탭 또는 [보안 센터] 설정에서 ‘알림 후 차단’ 정도로 맞춰두면 활용 시 편리하다.
  • 보안 옵션이 ‘모든 매크로 차단’일 경우 매크로 실행 자체가 불가능할 수 있으므로, 매크로 기록 기능 사용법을 체득하기 전에 보안 설정을 점검해야 한다.

파일 확장자

  • 매크로가 포함된 엑셀 파일은 .xlsm 확장자를 사용해야 한다.
  • 기록을 마친 뒤 .xlsx 형태로 저장하면 매크로가 제거되어 작동하지 않을 수 있다.

 

매크로 기록 기능 사용법 단계별 안내

1. 매크로 기록 시작

  1. [개발 도구] 탭에서 [매크로 기록]을 클릭한다.
  2. 뜨는 대화 상자에서 매크로 이름, 단축키, 저장 위치 등을 설정한다.
    • 매크로 이름은 한글이나 영어 모두 가능하지만, 공백 없이 직관적인 이름을 권장한다. 예: WeeklyReportMacro
    • 단축키를 설정하면 [Ctrl + 특정 키] 조합으로 빠르게 실행할 수 있다.
  3. [확인] 버튼을 누르는 순간부터 엑셀은 사용자가 하는 모든 동작을 녹화한다.

2. 작업 녹화

  • 매크로 기록 기능 사용법을 체감하기 위해, 예를 들어 다음과 같은 서식 적용 작업을 수행해보자.
    1) 시트1의 A1~C10 범위를 선택한다.
    2) 글꼴 크기를 12pt로 변경하고, 테두리를 전체에 적용한다.
    3) 셀 배경색을 노란색으로 지정한다.
    4) 셀에 ‘매크로 기록 기능 사용법’이라는 텍스트를 임의로 입력한다.
  • 이 일련의 동작은 매크로 기록 기능으로 고스란히 코드화되어 저장된다.
  • 사용자는 평소처럼 리본 메뉴나 단축키, 마우스 클릭을 통해 작업하면 되므로, 복잡한 코드를 직접 작성할 필요가 없다.

3. 매크로 기록 중지

  • 녹화할 작업을 모두 마쳤다면, [개발 도구] 탭 또는 상태 표시줄(왼쪽 아래)에 표시되는 [기록 중지] 버튼을 누른다.
  • 이를 깜빡하고 잊으면 불필요한 동작까지 계속 녹화될 수 있으니 주의한다.

4. 매크로 실행

  • 매크로가 정상적으로 기록됐다면, 다른 시트나 다른 파일에서 다시 실행해볼 수 있다.
  • [개발 도구] → [매크로]에서 원하는 매크로를 선택하고 [실행] 버튼을 누르거나, 지정한 단축키를 누르면 앞서 녹화한 작업이 자동으로 재현된다.
  • 예컨대 빈 시트1을 하나 만든 뒤 매크로를 실행하면, 아까와 동일하게 A1~C10 범위에 서식과 텍스트가 적용되는 과정을 직접 확인할 수 있다.

 

구체적 예시: 매크로 기록 기능 사용법 시나리오

여기서는 반복적으로 보고서를 작성해야 하는 상황을 가정해보자. 특정 날짜 범위의 데이터를 필터링하고, 합계를 낸 뒤, 정리된 결과를 PDF로 저장하는 과정을 매크로로 기록하는 실제 시나리오를 살펴보겠다.

예시 상황

  • 매일 오전, 부서별 판매 데이터를 취합한 시트가 만들어진다.
  • 분석 담당자는 A열에 있는 날짜가 오늘 날짜인 행만 추출해 합계를 내고, 결과를 PDF 파일로 저장한 다음, 보고서 폴더에 넣는 작업을 반복한다.
  • 이를 매크로 기록 기능 사용법을 통해 간단히 자동화할 수 있다.

작업 녹화 단계

  1. 매크로 기록 시작
    • [개발 도구] 탭 → [매크로 기록] → 매크로 이름: DailyFilterMacro → [확인]
  2. 필터링 적용
    • A열을 클릭해 자동 필터 적용(데이터 탭의 [필터] 버튼 사용)
    • 필터에서 오늘 날짜만 선택
  3. 합계 계산
    • 합계를 표시할 셀(예: H1)을 선택하고 =SUBTOTAL(9,B:B)처럼 필요한 함수 작성
    • 셀서식, 글꼴 굵기 등 적용
  4. PDF 저장
    • [파일] → [인쇄] → 프린터 목록에서 ‘PDF로 저장’을 선택하고 파일 이름을 입력
    • 원하는 폴더에 저장
  5. 매크로 기록 중지
    • 모든 작업을 마쳤다면, [개발 도구] 탭 → [기록 중지] 버튼 클릭

매크로 실행 확인

  • 이제 동일한 형식의 데이터가 매일 시트에 들어온다고 가정할 때, [개발 도구] → [매크로] → DailyFilterMacro 실행만 누르면 위 과정이 자동으로 수행된다.
  • 결과적으로 특정 날짜 필터링, 합계 계산, PDF 출력까지 일괄 처리가 가능해지며, 이것이 바로 매크로 기록 기능 사용법을 통한 간편 자동화의 대표 예시가 된다.

생성된 VBA 코드 살펴보기

매크로 기록 기능 사용법을 적용한 뒤, 실제로 어떤 코드가 만들어졌는지 궁금하다면, 다음 단계를 수행해 볼 수 있다.

  1. [개발 도구] → [매크로] → [매크로 이름 선택] → [편집]
  2. Visual Basic 편집기(VBE)가 열리면서, 기록된 매크로가 Sub 프로시저 형태로 표시된다.

아래는 예시로, 간단한 서식 적용 과정을 녹화했을 때 생성될 수 있는 코드다. (실제 코드와는 일부 차이가 있을 수 있음)

Sub 서식적용예시()
    ' 매크로 기록 기능 사용법을 통해 자동 생성된 예시 코드
    Range("A1:C10").Select
    Selection.Font.Bold = True
    Selection.Font.Size = 12
    Selection.Interior.Color = RGB(255, 255, 0)
    Range("A1").Value = "매크로 기록 기능 사용법"
End Sub
  • 매크로 기록 기능 사용법을 적용하면 위와 같이 Select, Selection 구문이 다수 생긴다.
  • 업무 난도가 높아지면, 변수나 조건문(If), 반복문(For)을 추가해 발전시킬 수 있다.

 

매크로 기록 기능 사용 시 주의할 점

1) 셀 절대·상대 참조 혼동

  • 매크로 기록 기능은 기본적으로 절대 참조로 작업을 녹화한다. 즉, 항상 “A1~C10” 위치만 선택하는 식이다.
  • 만약 데이터 범위가 매일 달라지거나, 상대적인 위치에 따라 작업해야 한다면, [상대 참조로 매크로 기록] 옵션을 활성화하거나 VBA 코드를 수정해야 한다.

2) 불필요한 동작 최소화

  • 매크로 기록 중에 오타로 인한 셀 클릭, 취소, 재이동 등이 모두 녹화되면 코드가 복잡해진다.
  • 되도록 작업 과정을 간소화해 기록하면, 재실행 시 예상치 못한 동작이 발생하는 위험을 줄일 수 있다.

3) 보안 및 IT 정책

  • 사내 네트워크에서 매크로가 전면 차단된 경우, 매크로 기록 기능 사용법을 익히더라도 실행이 제한될 수 있다.
  • 이때는 IT 부서나 관리 담당자와 협의하여, 적절한 보안 정책하에 안전한 매크로 실행 환경을 마련해야 한다.

4) 확장성 고려

  • 매크로 기록 기능 자체만으로는 복잡한 조건 분기나 오류 처리가 어려울 수 있다.
  • 업무가 커지면 VBA 코드에 If 문, Select Case 문 등을 직접 작성하여 논리를 강화하는 편이 좋다.

좀 더 자세한 매크로 기록 기능 사용 예시

이제는 셀 이동과 데이터를 복사·붙여넣는 과정을 조금 더 복잡하게 녹화하는 구체적인 예시를 들어 보겠다. 이번에는 두 시트 간 데이터를 옮기고, 날짜별 시트로 분류하는 과정을 녹화한다고 가정한다.

예시 시나리오

  • 원본데이터 시트에 매일 새로운 행이 추가되고, A열에 날짜가 적혀 있다.
  • 매일 날짜별로 시트(예: 2024-12-29, 2024-12-30 등)가 존재하며, 해당 시트의 빈 칸에 정보를 자동으로 붙여넣어야 한다.
  • 매크로 기록 기능 사용법을 적용해, “오늘 날짜를 가진 행”만 복사해서 “해당 날짜 시트”에 이어 붙이는 시나리오를 녹화한다.

녹화 절차

  1. 매크로 기록 시작
    • [개발 도구] 탭 → [매크로 기록] → 매크로 이름을 DataTransferMacro로 지정
  2. 날짜 필터
    • 원본데이터 시트로 이동
    • 자동 필터 기능 적용 후, A열에서 원하는 날짜만 체크
  3. 복사 작업
    • 필터링된 행 전체를 선택해 [복사]
    • 날짜와 동일한 시트(가령 2024-12-29)로 이동
    • 빈 행을 찾아 [붙여넣기]
  4. 매크로 기록 중지
    • 작업이 끝났다면 [개발 도구] → [기록 중지]

생성된 예시 코드 분석

Sub DataTransferMacro()
    ' 매크로 기록 기능 사용법을 이용해 생성된 예시 코드 (일부 단순화한 내용)
    Sheets("원본데이터").Select
    Range("A1").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=1, Criteria1:="=2024-12-29" ' 날짜 필터 적용

    Range("A1").CurrentRegion.Select
    Selection.SpecialCells(xlCellTypeVisible).Select
    Selection.Copy

    Sheets("2024-12-29").Select
    Range("A1").End(xlDown).Offset(1, 0).Select
    ActiveSheet.Paste
End Sub
  • 위와 같은 코드는 “원본데이터 시트 → 날짜 필터 → 복사 → 대상 시트로 이동 → 붙여넣기” 흐름을 그대로 담고 있다.
  • 실제로는 날짜가 계속 바뀌기 때문에, 이 상태로는 매번 날짜를 수작업으로 수정해야 할 수 있다. 이럴 땐 매크로 기록 기능 사용법으로 만든 코드를 VBA 에디터에서 조금 수정하여 매일 날짜를 자동으로 인식하도록 할 수도 있다.

매크로 기록 기능 확장: VBA 에디터에서 코드 수정

매크로 기록 기능 사용법을 한 단계 발전시키면, 생성된 매크로에 변수를 추가하거나, 조건문으로 상황별 분기를 넣을 수 있다. 간단한 예시를 들어 보자.

날짜 자동 인식 수정

Sub DataTransferMacro_Advanced()
    Dim targetDate As String
    targetDate = Format(Date, "yyyy-mm-dd") ' 오늘 날짜를 문자열로 변환

    Sheets("원본데이터").Select
    Range("A1").Select
    Selection.AutoFilter
    ' AutoFilter의 Criteria를 targetDate로 지정해 동적으로 날짜 필터
    Selection.AutoFilter Field:=1, Criteria1:="=" & targetDate 

    Range("A1").CurrentRegion.Select
    Selection.SpecialCells(xlCellTypeVisible).Select
    Selection.Copy

    ' 날짜 이름과 같은 시트로 이동
    Sheets(targetDate).Select
    Range("A1").End(xlDown).Offset(1, 0).Select
    ActiveSheet.Paste
End Sub
  • 이처럼 간단한 변수를 추가해 날짜를 자동으로 설정하면, 매일 코드를 수정하지 않아도 기록된 매크로를 재활용할 수 있다.
  • 매크로 기록 기능 사용법만으로는 구현하기 어려웠던 로직적 유연성을, VBA 코드 수정을 통해 확보할 수 있는 셈이다.

매크로 기록 기능 사용법 최종 점검

  1. 녹화 전 작업 순서 구상
    • 매크로로 자동화하려는 절차를 미리 그림으로 그려본다.
    • 불필요한 클릭이나 취소 동작을 최소화하고, 깔끔한 프로세스를 만든다.
  2. 매크로 기록 중 주의
    • 다른 셀을 잘못 클릭하거나, 여분의 서식 작업이 들어가면 그대로 코드가 복잡해진다.
    • 최대한 한 번에 끊김 없이 작업을 마무리한 뒤 기록 중지를 누르는 편이 좋다.
  3. 테스트 및 재실행
    • 새 시트나 새 파일에서 매크로를 실행해 본다.
    • 의도치 않은 동작이 있는지, 절대 참조와 상대 참조가 잘 맞는지 등을 체크한다.
  4. 코드 편집 시도
    • 생성된 매크로를 [편집] 버튼으로 열어, VBA 에디터의 코드 내용을 살핀다.
    • 변수 선언, 조건문, 반복문 등 기초 문법을 습득하면 훨씬 강력한 자동화를 설계할 수 있다.

매크로 기록 기능 사용법으로 업무 효율 극대화

매크로 기록 기능 사용법을 익혀두면, 엑셀 자동화의 첫 단추를 손쉽게 끼울 수 있다. 녹화된 매크로만으로도 여러 반복 업무를 빠르게 해치울 수 있고, 필요하다면 VBA 코드를 살짝 수정해 더 스마트하게 운영할 수도 있다. “매크로 기록 기능 사용법”을 적극적으로 활용해보고, 반복 작업을 획기적으로 줄여 업무 효율을 높이길 권장한다.

반응형