반응형

 

엑셀 보고서 작성, 아직도 '다른 이름으로 저장' 하세요? (VBA로 10초 만에 끝내기)

매일 아침, 어제 썼던 보고서 파일을 찾아 '파일' > '다른 이름으로 저장'을 누르고, 오늘 날짜로 이름을 바꾸는… 이 단순 반복 작업에 소중한 시간을 낭비하고 계신가요?

오늘은 이 지루한 과정을 버튼 클릭 한 번으로 끝내버리는 **'보고서 자동 생성 매크로'**를 공유합니다.
엑셀 VBA를 전혀 몰라도 괜찮습니다.
딱 3단계만 따라 하면, 매일 아침 10초 만에 오늘 날짜가 찍힌 깨끗한 보고서 파일을 만들 수 있습니다.

이렇게 아낀 시간으로 커피 한 잔의 여유를 즐기고, 정시 퇴근에 한 걸음 더 다가갈 수 있습니다.


## 1단계: 엑셀에 '개발 도구' 탭 추가하기 (최초 1번만!)

VBA 코드를 사용하려면 먼저 숨겨진 '개발 도구' 메뉴를 꺼내야 합니다. 딱 한 번만 설정해두면 앞으로 계속 편하게 쓸 수 있습니다.

  1. 엑셀 상단 메뉴에서 파일 > **옵션**을 클릭합니다.
  2. Excel 옵션 창이 뜨면 왼쪽 메뉴에서 **리본 사용자 지정**을 선택합니다.
  3. 오른쪽 기본 탭 목록을 보면 **개발 도구**의 체크박스가 해제되어 있을 겁니다. 이곳을 체크해주세요.
  4. 마지막으로 확인 버튼을 누르면 모든 준비가 끝납니다.

이제 엑셀 상단 메뉴에 홈, 삽입 탭 옆으로 개발 도구 탭이 생긴 것을 확인할 수 있습니다.


## 2단계: 자동화 코드(VBA) 붙여넣기

이제 우리의 비서 역할을 해줄 코드를 엑셀에 심어줄 차례입니다.

  1. 새롭게 생긴 개발 도구 탭을 누른 후, 가장 왼쪽에 있는 Visual Basic 버튼을 클릭하세요. (단축키: Alt + F11)
  2. 복잡해 보이는 하얀색 코드 편집창이 나타납니다. 당황하지 마세요!
  3. 편집기 상단 메뉴에서 삽입 > **모듈(M)**을 클릭합니다.
  4. 프로젝트 목록에 모듈1이 생기면서 오른쪽에 텅 빈 코드 입력창이 활성화됩니다.
  5. 아래의 전체 코드를 복사해서 방금 열린 하얀 편집창에 그대로 붙여넣습니다.

## 🚀 3단계: 매크로 실행해서 보고서 생성하기

모든 준비가 끝났습니다! 이제 마법을 부려볼 시간입니다.

  1. 다시 엑셀 창으로 돌아옵니다. (Alt + F11을 누르거나 X 버튼으로 VBA 편집기를 닫으세요.)
  2. 개발 도구 탭에서 매크로 버튼을 클릭합니다. (단축키: Alt + F8)
  3. 매크로 창이 뜨면 방금 우리가 붙여넣은 CreateReportFromTemplate 매크로 이름이 보일 겁니다.
  4. 해당 매크로를 선택하고 실행 버튼을 누릅니다.

잠시 후, "오늘의 보고서 파일이 성공적으로 생성되었습니다"라는 메시지가 뜨면 성공입니다!

템플릿 파일이 저장된 폴더를 확인해보세요. 매일_보고서(오늘날짜).xlsx 파일이 마법처럼 만들어져 있을 겁니다. 이제 여러분은 매일 아침 이 매크로 실행 한 번으로 보고서 준비를 끝낼 수 있습니다.


## 전체 코드 (복사해서 사용하세요)

VB.Net
 
'// 이 코드는 '매일_보고서.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

 

 

이제 더 이상 파일 복사, 이름 바꾸기 같은 단순 작업에 시간을 뺏기지 마세요.

이처럼 작은 자동화 하나하나가 모여 **'정시 퇴근'**과 **'나만의 시간'**을 만듭니다.

 

코드를 사용해보시고 궁금한 점이 있다면 언제든지 댓글로 질문해주세요!

반응형

+ Recent posts