Com 알아두면 좋은 Tip
엑셀 VBA 매크로를 활용한 반복 업무 자동화 코드 작성 방법
알 수 없는 사용자
2026. 6. 17. 23:09
반응형
엑셀 VBA 매크로를 활용한 반복 업무 자동화 코드 작성 방법
엑셀에서 매크로와 VBA(Visual Basic for Applications)를 활용하면 매일 반복되는 데이터 정리, 보고서 생성, 파일 취합 등의 업무를 클릭 한 번으로 끝낼 수 있습니다.
VBA 코드를 작성하는 기본적인 흐름과 가장 많이 쓰이는 필수 코드 패턴을 핵심만 정리해 드립니다.
1단계: 개발 도구 탭 켜기 및 기본 세팅
VBA 코드를 작성하려면 먼저 엑셀에서 개발 도구 탭을 활성화해야 합니다.
- 엑셀 상단 메뉴에서 파일 ➡️ 옵션 ➡️ 리본 사용자 지정으로 이동합니다.
- 우측 목록에서 개발 도구에 체크하고 [확인]을 누릅니다.
- 상단에 생겨난 개발 도구 탭에서 Visual Basic 버튼을 누르거나, 단축키 Alt + F11을 눌러 VBA 편집기 창을 켭니다.
- 편집기 상단 메뉴에서 삽입 ➡️ 모듈(Module)을 클릭합니다. 이제 코드를 입력할 하얀 도화지가 준비되었습니다.
2단계: VBA 코드의 기본 구조 이해하기
모든 VBA 매크로 코드는 Sub로 시작해서 End Sub로 끝나는 하나의 '상자(프로시저)' 안에 작성합니다.
VBA
Sub MyFirstMacro()
' 여기에 원하는 자동화 명령어를 순서대로 작성합니다.
' 명령어 앞의 작은따옴표(')는 코드에 영향을 주지 않는 '주석(메모)'입니다.
End Sub
3단계: 반복 업무 자동화 필수 핵심 코드 패턴
실무 자동화에서 90% 이상 활용되는 3가지 필수 패턴입니다. 이 구조들을 조합하면 웬만한 반복 업무는 모두 구현할 수 있습니다.
① 특정 셀 선택하고 값 입력하기 (데이터 입력 자동화)
특정 셀이나 범위를 지정하여 값을 넣거나 지우는 가장 기초적인 명령어입니다.
VBA
Sub CellAutomation()
' A1 셀에 "안녕하세요" 입력
Range("A1").Value = "안녕하세요"
' B1부터 B10까지의 범위에 숫자 100 입력
Range("B1:B10").Value = 100
' C1 셀의 배경색을 노란색으로 변경
Range("C1").Interior.Color = RGB(255, 255, 0)
End Sub
② 마지막 행(데이터 끝) 자동으로 찾기 (가장 중요)
매일 데이터의 개수(행 수)가 달라지는 업무에서는 데이터가 어디서 끝나는지 컴퓨터가 스스로 찾아내야 합니다. 이 코드는 실무에서 빼놓을 수 없는 핵심 공식입니다.
VBA
Sub FindLastRow()
Dim lastRow As Long
' A열의 맨 아래에서부터 위로 올라오며 데이터가 있는 마지막 행 번호를 찾음
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
' 찾은 마지막 행 번호를 메시지 창으로 알림
MsgBox "현재 데이터의 마지막 행은 " & lastRow & "번입니다."
End Sub
③ For Next 반복문 (수백 개 작업 일괄 처리)
반복 업무 자동화의 핵심입니다. 지정한 횟수나 데이터 행 수만큼 명령어를 반복 실행합니다.
VBA
Sub LoopAutomation()
Dim i As Long
Dim lastRow As Long
' 1. 데이터의 마지막 행을 구합니다.
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
' 2. 2번째 행부터 마지막 행까지 위에서 아래로 반복 처리합니다.
For i = 2 To lastRow
' 만약 A열의 값이 "완료"라면
If Cells(i, 1).Value = "완료" Then
' 같은 행의 B열에 "처리 끝"이라고 입력
Cells(i, 2).Value = "처리 끝"
End If
Next i
End Sub
4단계: 매크로 실행 버튼 만들기
코드를 다 작성했다면, 엑셀 시트로 돌아와 직관적인 실행 버튼을 매칭해 줍니다.
- 엑셀 시트에서 개발 도구 ➡️ 삽입 ➡️ 단추(양식 컨트롤)를 선택합니다.
- 시트의 원하는 위치에 마우스 드래그로 버튼을 그립니다.
- 버튼을 놓자마자 매크로 지정 창이 뜨는데, 방금 작성한 매크로 이름(예: LoopAutomation)을 선택하고 [확인]을 누릅니다.
- 이제 데이터가 바뀔 때마다 이 버튼만 누르면 모든 반복 작업이 1초 만에 자동 완료됩니다.
⚠️ 주의사항: 매크로가 포함된 엑셀 파일은 저장할 때 반드시 파일 형식을 일반 엑셀 파일(.xlsx)이 아닌, **Excel 매크로 사용 통합 문서(.xlsm)**로 변경하여 저장해야 코드가 지워지지 않고 보존됩니다.
반응형