我在解决这个问题时遇到了严重的问题:
我有一个必须在关闭前运行的宏的 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 命令来将所有更改恢复到上次保存的状态。然后我会简单地从上面运行宏并保存我的删除。
感谢我得到的任何帮助!