レンジ2

Excel小技①

重要なExcelファイルってありますよね。消えたらマズい、もしくは共有していて変に更新したらいけないようなものです。私の職場にも複数そういったファイルがあり、データ保守の為に作成した自動バックアップの仕組みをご紹介します。

このnoteでできること

以下のマクロを導入したExcelファイルのExcelファイルと同じフォルダに"BackupFile"フォルダを生成し、を1日に1回(初めに開いた時)に自動バックアップします。

【導入手順】
1.マクロを導入するExcelファイルを開き、[Alt]+[F11]キーでVBエディタを開きます。

2.左側メニュー(プロジェクトウィンドウ)の"ThisWorkbook"をダブルクリックします。

3.右側の空欄に以下のコードをコピー&ペーストします。

Private Sub Workbook_Open()
    '11回(このエクセルファイルを最初に起動した時)バックアップファイルを保存します。

    Dim bak_file As String 'バックアップ対象のファイル名(拡張子抜き)
    Dim bak_fld As String  '保存フォルダ名
    Dim bak_fullpath As String  'バックアップファイルのフルパス
    
    'ファイル名に"BackupFile"が含まれている場合終了
    If InStr(ThisWorkbook.Name, "BackupFile") > 0 Then Exit Sub
    
    'バックアップファイル名生成
    bak_file = Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") - 1) '拡張子を除いたファイル名取得
    bak_file = bak_file & "_BackupFile_" & Format(Now, "yymmdd") & ".xlsm" 'ここで保存スパンを調節
    
    'フォルダ作成
    bak_fld = ThisWorkbook.Path & "\BackupFile"
    If Dir(bak_fld, vbDirectory) = "" Then
        MkDir bak_fld
    End If
    
    '本日のバックアップファイルの有無を確認し、無ければ保存
    bak_fullpath = bak_fld & "\" & bak_file
    If Dir(bak_fullpath) = "" Then
        ThisWorkbook.SaveCopyAs bak_fullpath
    End If
End Sub

4.ファイルを「名前を付けて保存」
※ファイルの種類をは「マクロ有効ブック」にすること。

以上で完了です。

保存したExcelファイル(test.xlsm)を開くと、

BackupFileフォルダが作成され・・・

1日1回このように保存されていきます。

byそくにゃん

いいなと思ったら応援しよう!