VBAでファイルをコピーする
やりたいこと
VBAでファイルを更新する前に、バックアップを取りたい時があると思います。
ここではファイルと同じ場所にbkフォルダを作りその中にバックアップを取るようにします。

以下の記事の中でVBAを使える設定、コードを貼り付ける手順を動画付きで解説しています。
初心者の方はこちらをお先にご覧ください。

VBAの事前準備とコードの貼り付け方
こちらから完成後のEXCELファイルをダウンロードできます。
EXCELファイル※EXCELを開くと以下のようなメッセージが表示されます。VBAがあるためです。「マクロを有効にする」をクリックしてください。

手順

1
Visual Basic Editorに以下のコードを貼り付けてください。
そして、実行ボタンを押してください。
1Sub コピー()
2 'フォルダがない場合作成
3 If Dir(ThisWorkbook.Path & "/bk", vbDirectory) = "" Then
4 MkDir ThisWorkbook.Path & "/bk"
5 End If
6
7 'bkフォルダにbkのファイル名をつけて、コピー
8 FileCopy ThisWorkbook.Path & "/" & ThisWorkbook.Name, _
9 ThisWorkbook.Path & "/bk/" & Replace(ThisWorkbook.Name, ".xlsm", "") & "_bk" & Format(Now, "yyyymmdd") & ".xlsm"
10
11End Sub
12
例えば、「バックアップ.xlsx」という名前にしたい場合は、9行目の「”Sheet1”」の部分を違う名前にしてください。
8 FileCopy ThisWorkbook.Path & "/" & ThisWorkbook.Name, _
9 ThisWorkbook.Path & "/bk/バックアップ.xlsx"

2
ファイルアクセスを許可ダイアログが表示されるので、「選択」ボタンをクリック。

4
bkフォルダが作成され、ファイルがコピーされました。
動作環境について
本サンプルコードは、特定のExcelバージョンで動作確認を行っています。他の環境では動作を保証できません。
バックアップを推奨
実行前に必ずデータのバックアップを行ってください。予期しない不具合やデータ損失が発生する可能性があります。
セキュリティについて
マクロの実行にはセキュリティリスクが伴います。信頼できる環境でのみ使用し、不審なコードの混在に注意してください。
改変・再利用について
本コードの改変・再利用は自由ですが、自己責任でお願いします。改変後の動作保証はできません。
免責事項
本コードの利用によるいかなる損害や不具合についても、一切の責任を負いかねます。