엑셀에서 자주 반복하는 작업, 예를 들어 보고서 포맷 정리, 데이터 복사 및 붙여넣기, 시트 생성, 파일 저장 등의 업무는 VBA 매크로를 활용하면 단 몇 초 만에 자동화할 수 있습니다. 이 포스팅에서는 실무에서 자주 발생하는 반복 업무를 VBA 매크로로 해결하는 실전 예제 7가지를 소개합니다.
엑셀 자동화가 처음이신 분들도 이해할 수 있도록 단계별 코드와 설명을 함께 제공하니, 따라 하시면서 바로 적용해보세요.
보고서의 첫 번째 행에 제목과 서식을 자동으로 적용
Sub 보고서헤더서식()
With Range("A1:F1")
.Font.Bold = True
.Font.Size = 12
.Interior.Color = RGB(200, 220, 255)
.HorizontalAlignment = xlCenter
End With
End Sub
활용 포인트:
모든 시트의 A1 셀에 작성자 이름 자동 삽입
Sub 모든시트에이름입력()
Dim ws As Worksheet
For Each ws In Worksheets
ws.Range("A1").Value = "작성자: 홍길동"
Next ws
End Sub
활용 포인트:
숫자가 텍스트로 저장된 셀을 일괄 숫자로 변환
Sub 텍스트를숫자로변환()
With Selection
.Value = .Value + 0
End With
End Sub
활용 포인트:
특정 이름의 시트를 자동으로 생성
Sub 시트자동생성()
Dim newSheet As Worksheet
Set newSheet = Worksheets.Add
newSheet.Name = "2024년실적"
End Sub
활용 팁:
newSheet.Name = "실적_" & Format(Date, "yyyymmdd")
‘판매완료’가 아닌 행을 삭제하여 남기고 싶은 행만 보존
Sub 조건행삭제()
Dim i As Long
For i = Cells(Rows.Count, "C").End(xlUp).Row To 2 Step -1
If Cells(i, 3).Value <> "판매완료" Then
Rows(i).Delete
End If
Next i
End Sub
활용 포인트:
현재 파일을 날짜 형식으로 자동 저장
Sub 날짜별자동저장()
Dim 경로 As String
경로 = "C:\Users\사용자\Documents\"
ThisWorkbook.SaveAs 경로 & "보고서_" & Format(Date, "yyyymmdd") & ".xlsx"
End Sub
활용 팁:
A1:D100 범위의 데이터를 기반으로 자동 피벗 생성
Sub 피벗자동생성()
Dim ptCache As PivotCache
Dim pt As PivotTable
Dim ws As Worksheet
Set ws = Sheets.Add
Set ptCache = ActiveWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, SourceData:="Sheet1!A1:D100")
Set pt = ptCache.CreatePivotTable( _
TableDestination:=ws.Range("A3"), TableName:="매출피벗")
With pt
.PivotFields("지역").Orientation = xlRowField
.PivotFields("제품").Orientation = xlColumnField
.PivotFields("매출").Orientation = xlDataField
End With
End Sub
활용 포인트:
Private Sub Workbook_Open()
Call 보고서헤더서식
End Sub
ThisWorkbook
에 작성하면 엑셀 파일 열릴 때 자동 실행개발 도구 > 삽입 > 양식 컨트롤 버튼
활용 예: ‘보고서 생성’, ‘전체 지우기’, ‘신규 등록’ 버튼
엑셀 VBA 매크로는 단순 반복 작업을 줄이는 수준을 넘어, 업무 흐름을 완전히 자동화하는 수준까지 확장할 수 있습니다. 위의 예제들을 실무에 하나씩 적용해보면, 매크로가 실제 시간을 절약하는 가장 현실적인 솔루션이라는 걸 느끼게 될 거예요. 이제 당신도 엑셀 자동화 고수의 길로 한 걸음 더 다가가보세요!
엑셀365에서 ActiveX 컨트롤은 사용자가 더욱 정교하고 인터랙티브한 사용자 인터페이스(UI)를 구성할 수 있도록 도와주는 고급 도구입니다.…
엑셀365 폼 컨트롤로 양식 자동화하기 실무 가이드 엑셀365의 폼 컨트롤(Form Controls) 기능은 사용자가 데이터 입력을…
엑셀365에는 수백 개의 기본 내장 함수가 있지만, 실무에서는 내장 함수만으로 부족한 상황이 종종 발생합니다. 이럴…
엑셀365에서 VBA(Visual Basic for Applications) 매크로는 반복되는 작업을 자동화하고, 사용자의 클릭이나 입력에 반응하여 맞춤형 엑셀…
엑셀365 슬라이서 기능으로 피벗 테이블 분석 효율 높이기 엑셀365의 슬라이서(Slicer) 기능은 피벗 테이블이나 표에서 필터링을…
엑셀365 데이터 가져오기 및 외부 데이터 연결법 총정리 엑셀365는 단순한 계산 툴을 넘어, 다양한 외부…