【发布时间】:2013-09-05 08:27:28
【问题描述】:
我在解决这个问题时遇到了严重的问题:
我有一个 Excel 工作簿(2010 或更高版本),其中包含一个必须在关闭前运行的宏。它会删除内部数据并保存此更改:(目前没有问题)
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim xlSheet As Worksheet
For Each xlSheet In Sheets
If xlSheet.Name = "internalDataSource" Then
MsgBox "Internal data will be deleted from the workbook. Changes are saved."
Application.DisplayAlerts = False
xlSheet.Delete
ThisWorkbook.Save
Application.DisplayAlerts = True
End If
Next xlSheet
End Sub
我的问题: 用户应该能够改变一些东西。现在,如果用户更改了某些内容,他通常会被问到是否要保存更改。在这个版本中,别无选择,只能保存他的更改。目前它们总是被保存。
如何让用户能够说“不,不要保存我的更改”。但仍然运行宏并保存删除内部数据?
我正在拼命寻找一个 VBA 命令来将所有更改恢复到上次保存的状态。然后我会简单地从上面运行宏并保存我的删除。
感谢您为我提供的任何帮助!
【问题讨论】: