マシューは、ブックを閉じるたびに、Excelにそのブックの日付付きバックアップを作成してもらいたいと考えています。つまり、日付を含むファイル名を使用して保存されます。したがって、彼が「AnyWorkbookName」を保存すると、その名前だけでなく、「AnyWorkbookName [今日の日付と時刻]」という名前でも保存されます。マシューは、これをVBAで行う必要があることを確信していますが、どうすればよいかわかりません。

このタスクを実行するために開発できるマクロはいくつもあります。それらのほとんどは(いわば)テーマのバリエーションであるため、私たちの目的には1つの例で十分です。

次のマクロは、ブックを閉じる直前に、ファイル名の末尾に日付と時刻を追加してブックを保存します。

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim sFileName As String     Dim sDateTime As String

With ThisWorkbook         sDateTime = " (" & Format(Now, "yyyy-mm-dd hhmm") & ").xlsm"

sFileName = Application.WorksheetFunction.Substitute _           (.FullName, ".xlsm", sDateTime)

.SaveCopyAs sFilename     End With End Sub

マクロは、日付と時刻の文字列をsDateTime変数にまとめます。次に、これは、SUBSTITUTEワークシート関数を使用してワークブックのファイル名に挿入されます。 (日付/時刻文字列は、ファイル名拡張子の直前に効果的に挿入されます。)マクロには、この保存を行うためのマクロなどのマクロが含まれている必要があるため、ワークブックがXLSMファイルとして保存されていることを前提としています。

マクロは、ブックのThisWorkbookモジュールに配置する必要があります。

これにより、ブックが閉じられる直前に実行されます。

このタスクを実行できるサードパーティのアドインもあります。以下はあなたがチェックしたいと思うかもしれないいくつかです。

http://www.jkp-ads.com/Download.asp#AutoSafe http://www.asap-utilities.com

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(13195)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。