Excel & IT Info

아이엑셀러 닷컴, 엑셀러TV

VBA

Excel 백업 파일 자동으로 만들기

권현욱(엑셀러) 2023. 10. 26. 12:00
반응형

엑셀 통합 문서에 대한 자동 백업 파일을 만들 수 있다면 편리한 경우가 있습니다. 일반적인 저장 과정을 거치지 않고도 정기적으로 백업을 생성할 수 있는 방법을 소개합니다. 아래 코드는 Windows 기반 Excel 버전에서 제대로 작동합니다.

VBA를 잘 모르신다고요? 문제없습니다. 아래에서 소개된 코드를 복사/붙여넣기(복/붙) 하세요. 여러분들은 진행되는 순서만 잘 이해하시면 됩니다. 나중에 여유가 되신다면 [VBA 입문 강의]를 보실 것을 추천합니다(무료 강의).

 

※ 이 글은 아래 기사 내용을 토대로 작성되었습니다만, 제 개인 의견이나 추가 자료들이 다수 포함되어 있습니다. 원문 내용이 궁금하신 분은 URL을 살펴보세요.


  • 원문: How to Create an Excel Workbook Backup With VBA
  • URL: https://turbofuture.com/computers/create-an-excel-workbook-backup-with-vba

엑셀 파일을 정기적으로 백업해 두면 좋은 점

VBA 코딩을 하기 전에 정기적인 백업이 유익한 몇 가지 이유를 살펴보겠습니다. 이 일을 왜 하는 지에 대해 알고 있으면 목적 의식도 생기고 동기 부여도 될 수 있으니까요.

  • 최신 버전 유지: 백업을 생성하면 대체할 최신 버전이 확보됩니다.
  • 데이터 손실 방지: 위험한 작업을 수행하기 전에 백업을 저장하여 중요한 데이터의 손실을 방지하세요.
  • 테스트 및 개발: 원래 문서는 보존한 채 변경 사항을 테스트할 수 있습니다.
  • 변경 사항 문서화: 규정 준수, 감사 또는 수정 사항 추적을 위한 변경 기록을 남길 수 있습니다.
  • 오류 복구: 예상치 못한 사고가 생겼을 때 빠르게 복구할 수 있습니다.

VBA 코드 작성

  1. 워크시트 상태에서 Alt + F11을 눌러서 Visual Basic Editor를 엽니다.
  2. 왼쪽 창에서 ThisWorkbook(현재 통합 문서)을 선택합니다(더블 클릭).
  3. 오른쪽 창이 나타나면 다음 VBA 코드를 입력합니다.
''' 경로와 파일 이름을 적용할 때 오류가 생길 소지가 있어서 원래 코드 내용을 일부 수정했습니다.
Sub createBackupCopy()
    Dim backupPath As String
    
    backupPath = ThisWorkbook.Path & "\" & "Backup.xlsm"
    
    If Len(Dir(backupPath)) > 0 Then
        Kill backupPath
    End If
    ThisWorkbook.SaveCopyAs backupPath
End Sub

VBA 코드 실행: 버튼 활용

VBA를 실행하는 방법에는 여러 가지가 있습니다. 이번에는 그중 하나로, 워크시트에 단추를 삽입하여 VBA 코드가 실행되도록 합니다.

(1) [삽입] 탭 - [일러스트레이션] 그룹 - [도형] - [직사각형]을 클릭하고 적당한 곳에 도형을 삽입합니다.

(이미지: 아이엑셀러 닷컴)

(2) 도형을 우클릭하고 [매크로 지정] 메뉴를 선택합니다. [매크로 지정] 대화상자에서 매크로를 선택하고 [확인] 버튼을 누릅니다. 이렇게 하면 작성한 매크로가 도형에 연결이 되며, 사용할 준비가 되었습니다.

(이미지: 아이엑셀러 닷컴)

(3) 도형을 클릭합니다. 현재 파일과 같은 폴더에 백업 파일이 만들어집니다. 같은 이름의 파일이 있다면 지우고 다시 만듭니다.

[주의] 매크로가 포함된 엑셀 파일을 저장할 때에는 'Excel 매크로 사용 통합 문서 (*.xlsm)' 형식으로 지정해야 합니다. 매크로가 포함된 파일을 'Excel 통합 문서 (*.xlsx)' 형식으로 지정하면 매크로가 모두 제거된 채 저장됩니다.
반응형