The easiest way is to use SaveCopyAs to create a copy of the workbook
as it is at some point in time. Even if the original workbook is
closed without saving changes, the workbook created with SaveCopyAs
will have the changes. E.g.,
Sub SaveCopy()
Dim FName As String
Dim N As Long
If ActiveWorkbook.Path = vbNullString Then
Exit Sub
End If
FName = ActiveWorkbook.FullName
N = InStrRev(FName, ".")
FName = Left(FName, N - 1) & "_COPY" & Mid(FName, N)
On Error Resume Next
Kill FName 'delete existing copy file
On Error GoTo 0
ActiveWorkbook.SaveCopyAs Filename:=FName
End Sub
You can automate this my putting the following code in the same code
module as SaveCopy:
Sub Auto_Close()
SaveCopy
End Sub
Thus, you can save a copy whenever you want, and automatically save a
copy with the workbook is closed.
Cordially,
Chip Pearson
Microsoft Most Valuable Professional
Excel Product Group, 1998 - 2009
Pearson Software Consulting, LLC
www.cpearson.com
(email on web site)
[quoted text clipped - 6 lines]