
엑셀 보고서 작성, 아직도 '다른 이름으로 저장' 하세요? (VBA로 10초 만에 끝내기)
매일 아침, 어제 썼던 보고서 파일을 찾아 '파일' > '다른 이름으로 저장'을 누르고, 오늘 날짜로 이름을 바꾸는… 이 단순 반복 작업에 소중한 시간을 낭비하고 계신가요?
오늘은 이 지루한 과정을 버튼 클릭 한 번으로 끝내버리는 **'보고서 자동 생성 매크로'**를 공유합니다.
엑셀 VBA를 전혀 몰라도 괜찮습니다.
딱 3단계만 따라 하면, 매일 아침 10초 만에 오늘 날짜가 찍힌 깨끗한 보고서 파일을 만들 수 있습니다.
이렇게 아낀 시간으로 커피 한 잔의 여유를 즐기고, 정시 퇴근에 한 걸음 더 다가갈 수 있습니다.
## 1단계: 엑셀에 '개발 도구' 탭 추가하기 (최초 1번만!)
VBA 코드를 사용하려면 먼저 숨겨진 '개발 도구' 메뉴를 꺼내야 합니다. 딱 한 번만 설정해두면 앞으로 계속 편하게 쓸 수 있습니다.
- 엑셀 상단 메뉴에서 파일 > **옵션**을 클릭합니다.
- Excel 옵션 창이 뜨면 왼쪽 메뉴에서 **리본 사용자 지정**을 선택합니다.
- 오른쪽 기본 탭 목록을 보면 **개발 도구**의 체크박스가 해제되어 있을 겁니다. 이곳을 체크해주세요.
- 마지막으로 확인 버튼을 누르면 모든 준비가 끝납니다.
이제 엑셀 상단 메뉴에 홈, 삽입 탭 옆으로 개발 도구 탭이 생긴 것을 확인할 수 있습니다.
## 2단계: 자동화 코드(VBA) 붙여넣기
이제 우리의 비서 역할을 해줄 코드를 엑셀에 심어줄 차례입니다.
- 새롭게 생긴 개발 도구 탭을 누른 후, 가장 왼쪽에 있는 Visual Basic 버튼을 클릭하세요. (단축키: Alt + F11)
- 복잡해 보이는 하얀색 코드 편집창이 나타납니다. 당황하지 마세요!
- 편집기 상단 메뉴에서 삽입 > **모듈(M)**을 클릭합니다.
- 프로젝트 목록에 모듈1이 생기면서 오른쪽에 텅 빈 코드 입력창이 활성화됩니다.
- 아래의 전체 코드를 복사해서 방금 열린 하얀 편집창에 그대로 붙여넣습니다.
## 🚀 3단계: 매크로 실행해서 보고서 생성하기
모든 준비가 끝났습니다! 이제 마법을 부려볼 시간입니다.
- 다시 엑셀 창으로 돌아옵니다. (Alt + F11을 누르거나 X 버튼으로 VBA 편집기를 닫으세요.)
- 개발 도구 탭에서 매크로 버튼을 클릭합니다. (단축키: Alt + F8)
- 매크로 창이 뜨면 방금 우리가 붙여넣은 CreateReportFromTemplate 매크로 이름이 보일 겁니다.
- 해당 매크로를 선택하고 실행 버튼을 누릅니다.
잠시 후, "오늘의 보고서 파일이 성공적으로 생성되었습니다"라는 메시지가 뜨면 성공입니다!
템플릿 파일이 저장된 폴더를 확인해보세요. 매일_보고서(오늘날짜).xlsx 파일이 마법처럼 만들어져 있을 겁니다. 이제 여러분은 매일 아침 이 매크로 실행 한 번으로 보고서 준비를 끝낼 수 있습니다.
## 전체 코드 (복사해서 사용하세요)
'// 이 코드는 '매일_보고서.xlsm' 템플릿 파일에서 실행해야 합니다.
'// 기능: 템플릿 자신을 복사하여 오늘 날짜의 보고서(.xlsx) 파일을 자동으로 생성합니다.
Sub CreateReportFromTemplate()
' 1. 기본 변수 선언
Dim templateWorkbook As Workbook
Dim currentPath As String
Dim newFileName As String
' 2. 이 매크로가 실행되는 파일(템플릿)을 변수에 담기
Set templateWorkbook = ThisWorkbook
' 3. 템플릿 파일이 저장된 위치 확인 (저장되지 않았다면 작업 중단)
If templateWorkbook.Path = "" Then
MsgBox "템플릿 파일이 아직 저장되지 않았습니다. 먼저 '매일_보고서.xlsm'으로 저장 후 실행해주세요!", vbCritical
Exit Sub
End If
currentPath = templateWorkbook.Path & "\"
' 4. 오늘 날짜로 만들 새 보고서 파일 이름 지정
newFileName = "매일_보고서(" & Format(Date, "YYYY-MM-DD") & ").xlsx"
' 5. 혹시 오늘 날짜 보고서가 이미 만들어졌는지 확인
If Dir(currentPath & newFileName) <> "" Then
If MsgBox("오늘 날짜의 보고서가 이미 존재합니다. 덮어쓰시겠습니까?", vbQuestion + vbYesNo) = vbNo Then
MsgBox "작업을 취소했습니다.", vbInformation
Exit Sub
End If
End If
' 6. 템플릿 파일을 새로운 이름과 형식(.xlsx)으로 저장 (가장 핵심적인 부분!)
Application.DisplayAlerts = False ' 덮어쓰기 경고창 비활성화
templateWorkbook.SaveAs Filename:=currentPath & newFileName, _
FileFormat:=xlOpenXMLWorkbook ' .xlsx 형식으로 저장
Application.DisplayAlerts = True ' 경고창 다시 활성화
' 7. 완료 메시지
MsgBox "오늘의 보고서 파일이 성공적으로 생성되었습니다." & vbNewLine & vbNewLine & _
"이제 이 파일에 내용을 작성하시면 됩니다!", vbInformation
End Sub

이제 더 이상 파일 복사, 이름 바꾸기 같은 단순 작업에 시간을 뺏기지 마세요.
이처럼 작은 자동화 하나하나가 모여 **'정시 퇴근'**과 **'나만의 시간'**을 만듭니다.
코드를 사용해보시고 궁금한 점이 있다면 언제든지 댓글로 질문해주세요!
'코딩으로 시간 벌기 > 엑셀 VBA' 카테고리의 다른 글
| 드롭다운 목록, 매크로로 자동 업데이트하기! 🔽 (0) | 2026.03.12 |
|---|---|
| 세 번째 이야기: 색깔별 정렬, 클릭 한 번으로 끝내기! 🎨 (0) | 2026.03.10 |
| 두 번째 이야기: 색깔 있는 셀, 합계도 5초 만에! (0) | 2026.03.05 |
| 1초 만에 데이터 찢기! 부서별/지역별 시트 자동 분할 매크로 (복붙용 코드 포함) 🚀 (4) | 2026.03.05 |
| 첫 번째 이야기: 색깔 있는 셀, 5초 만에 세는 방법 (0) | 2025.08.20 |
