目录:
视频: 56_大型試算表(巨集修改)(EXCEL VBA教學)1.avi 2024
这里介绍的宏是保护用户在保存前不会无意中关闭文件的绝佳方法。实施时,此宏确保Excel在关闭之前自动保存工作簿。
Excel通常会提示正在尝试关闭未保存的工作簿的用户,并给他们一个关闭前保存的选项。但是,许多用户可能会吹过警告,并无意中单击否,告诉Excel关闭而不保存。有了这个宏,你可以在关闭之前自动保存。
<! - 1 - >宏如何工作
代码由工作簿的BeforeClose事件触发。当您尝试关闭工作簿时,会触发此事件,并在其中运行代码。代码的关键是简单 - 它询问用户是否要关闭工作簿。宏然后评估用户是否单击确定或取消。
<! - 2 - >当您尝试关闭工作簿时看到的消息。使用Select Case语句完成评估。 Select Case语句是If-Then-Else语句的替代,允许您在宏中执行条件检查。 Select Case语句的基本结构很简单:
Select Case Case = Case Is = Case Is = End Select
使用Select Case语句,可以执行许多条件检查。在这种情况下,您只需检查确定或取消。看看代码:
<!步骤1:激活消息框并开始检查选择案例MsgBox(“保存并关闭?”,vbOKCancel)'步骤2:取消按钮被按下,所以取消关闭案例Is = vbCancel取消=真'第3步:确定按钮按下,所以保存工作簿,并关闭案例Is = vbOK ActiveWorkbook。保存'步骤4:关闭您的Select Case语句End Select End Sub在步骤1中,激活消息框作为Select Case语句的条件检查。您使用vbOKCancel参数来确保“确定”和“取消”按钮显示为选项。
在步骤2中,如果用户在消息框中单击了取消,则宏通过将True传递给Cancel布尔值来通知Excel取消Workbook_Close事件。
如果用户点击消息框中的确定按钮,则步骤3生效。在这里,您告诉Excel保存工作簿。而且由于您没有将取消布尔值设置为True,Excel将继续关闭。在步骤4中,您只需关闭Select Case语句即可。每次实例化Select Case时,都必须用相应的End Select将其关闭。
如何使用宏
要实现此宏,需要将其复制并粘贴到Workbook_BeforeClose事件代码窗口中。将宏放在那里允许它在您每次尝试关闭工作簿时运行:
通过按Alt + F11激活Visual Basic编辑器。
在项目窗口中,找到您的项目/工作簿名称,然后单击旁边的加号查看所有工作表。
-
点击ThisWorkbook。
-
在“事件”下拉列表中,选择“BeforeClose”事件。
-
在新创建的模块中键入或粘贴代码。
-
在Workbook BeforeClose事件中输入您的代码。