엑셀365에서 VBA(Visual Basic for Applications) 매크로는 반복되는 작업을 자동화하고, 사용자의 클릭이나 입력에 반응하여 맞춤형 엑셀 자동화 시스템을 구축할 수 있는 매우 강력한 기능입니다. 수동으로 처리하던 수많은 업무를 클릭 한 번으로 처리하게 만드는 업무 혁신 도구죠.
이 가이드는 VBA 매크로의 기초 개념부터 실무에서 자주 쓰이는 고급 자동화 예제까지 단계적으로 정리했습니다. 매크로가 낯선 분들도 이 글 하나로 엑셀 자동화의 문을 열 수 있도록 구성했습니다.
파일 > 옵션 > 리본 사용자 지정
개발 도구
체크 → 확인개발 도구
탭에서 VBA 도구와 매크로 기능 사용 가능파일 > 옵션 > 보안 센터 > 보안 센터 설정 > 매크로 설정
개발 도구 > 매크로 기록
클릭ex: FormatHeader
)이렇게 하면 자동으로 VBA 코드가 생성됩니다.
Sub FormatHeader()
Range("A1:D1").Font.Bold = True
Range("A1:D1").Interior.Color = RGB(200, 200, 255)
End Sub
개발 도구 > Visual Basic
클릭 또는 Alt + F11
창 | 설명 |
---|---|
프로젝트 탐색기 | 통합 문서에 연결된 매크로 모듈 및 시트 표시 |
코드 창 | VBA 코드를 직접 입력하는 공간 |
속성 창 | 폼이나 컨트롤의 속성 설정 가능 |
Sub 매크로이름()
' 주석
Dim 변수명 As 데이터형
If 조건 Then
실행문
Else
다른 실행문
End If
End Sub
Dim count As Integer
For i = 1 To 10
Cells(i, 1).Value = i
Next i
If Range("A1").Value > 100 Then
MsgBox "100 초과"
End If
MsgBox "처리가 완료되었습니다."
inputVal = InputBox("이름을 입력하세요.")
Sub 강조색적용()
With Range("A1:D1")
.Font.Bold = True
.Interior.Color = RGB(255, 230, 153)
End With
End Sub
Sub 헤더추가()
Rows("1:1").Insert
Range("A1").Value = "고객명"
Range("B1").Value = "전화번호"
Range("C1").Value = "이메일"
End Sub
Sub 파일저장()
Dim 파일명 As String
파일명 = "고객DB_" & Format(Date, "yyyymmdd") & ".xlsx"
ThisWorkbook.SaveAs "C:\Users\Documents\" & 파일명
End Sub
엑셀의 특정 행동(시트 열기, 셀 변경 등)에 자동 반응하게 만들 수 있습니다.
Private Sub Workbook_Open()
MsgBox "환영합니다! 오늘도 좋은 하루 되세요 :)"
End Sub
작성 위치:
ThisWorkbook
객체 내부
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B2")) Is Nothing Then
Range("C2").Value = Target.Value * 10
End If
End Sub
엑셀 기본 함수 외에도 나만의 함수를 만들 수 있습니다.
Function 제곱(x As Double) As Double
제곱 = x * x
End Function
→ 셀에 =제곱(5)
입력 시 결과는 25
삽입 > 양식 컨트롤 > 버튼
클릭활용 예시:
개발 도구 > 매크로 > 옵션
또는 매크로 이름을 Ribbon에 등록하여 쉽게 실행할 수도 있습니다.
.xlsm
인지 확인네, 다음 방법을 사용하세요:
구분 | VBA | Power Query |
---|---|---|
자동화 범위 | 무한 | 데이터 처리 위주 |
사용자 인터페이스 | 가능 | 제한적 |
반복 작업 자동화 | 탁월 | 제한적 |
학습 난이도 | 높음 | 비교적 쉬움 |
→ 반복 처리, 사용자 입력, 동적 제어 = VBA
→ 대량 정형 데이터 정리 = Power Query
엑셀365의 VBA 매크로 기능은 단순 자동화를 넘어, 복잡한 업무 시나리오까지 프로그래밍적으로 처리할 수 있는 궁극의 엑셀 활용법입니다. 이 가이드를 통해 매크로의 기초부터 고급 기능까지 익히면, 단순 반복 작업은 물론 다양한 사용자 중심 자동화 툴까지 직접 구축할 수 있게 됩니다. 오늘부터 엑셀 자동화, 진짜 실무 고수가 되어보세요!
엑셀365에서 ActiveX 컨트롤은 사용자가 더욱 정교하고 인터랙티브한 사용자 인터페이스(UI)를 구성할 수 있도록 도와주는 고급 도구입니다.…
엑셀365 폼 컨트롤로 양식 자동화하기 실무 가이드 엑셀365의 폼 컨트롤(Form Controls) 기능은 사용자가 데이터 입력을…
엑셀365에는 수백 개의 기본 내장 함수가 있지만, 실무에서는 내장 함수만으로 부족한 상황이 종종 발생합니다. 이럴…
엑셀365 슬라이서 기능으로 피벗 테이블 분석 효율 높이기 엑셀365의 슬라이서(Slicer) 기능은 피벗 테이블이나 표에서 필터링을…
엑셀365 데이터 가져오기 및 외부 데이터 연결법 총정리 엑셀365는 단순한 계산 툴을 넘어, 다양한 외부…