image

|很多时候,我们想在工作簿关闭之前执行一些预定义和重复的步骤。例如,关闭与数据库的连接,删除垃圾数据,保护工作簿,保存工作簿或干脆与用户说再见。可以使用“ link:/ events-in-vba-workbook-events-using-vba-in-microsoft-excel [Excel的工作簿事件]”来完成。

在本文中,我们将学习如何以最简单的方式在工作簿关闭时运行宏。 ===工作簿关闭时自动运行宏若要在工作簿关闭时运行宏,我们将使用工作簿事件Workbook_BeforeClose。此事件的语法是this。

Private Sub Workbook_BeforeClose(Cancel As Boolean)

'Your Code here.

End Sub

要在工作簿事件中编写,请执行此操作。

使用Alt + F11打开VBE。现在,在项目资源管理器中,找到要在其中包含代码的工作簿。现在,在项目浏览器中找到ThisWorkbook *对象。双击它。

image

现在您可以看到两个位于编码区域上方的下拉菜单。单击第一个,然后选择工作簿。现在,与工作簿相关的所有可用事件都可以在右侧的下拉列表中看到。单击它,然后选择“ BeforeClose”。这将在编码区域上写一个空的workbook_BeforeClose子例程。

您要在工作簿关闭之前运行的所有代码都需要在此处编写。您可以简单地调用在任何模块中编写的其他子例程,以运行此事件。此代码将触发事件以运行这两行之间编写的任何内容。

示例:

让我们使用Workbook_BeforeClose事件来验证用户并在工作簿打开时向该用户打招呼。

Private Sub Workbook_BeforeClose(Cancel As Boolean)

ThisWorkbook.Save

MsgBox "This Workbook is saved."

End Sub

您可以在此代码中放入任何内容。我们甚至可以从工作簿中的任何模块调用任何子例程。保存工作簿并运行一次代码。现在关闭工作簿。您的工作簿将被自动保存并显示消息。

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Call ShutDatabase ' calling subroutine that shuts down the source database

End Sub

是的,就是这样。这是在工作簿关闭时自动运行宏的简单方法。我希望我的文字足以说明问题,并且该网站对您有帮助。如果这样做没有帮助,请在下面的评论部分中编写查询。我会尽快答复。

相关文章:

在Microsoft Excel中使用VBA的工作簿事件:在这里,您可以找到所有可触发以运行特定代码的工作簿事件在特定事件上。

在进行任何更改时使用工作表更改事件运行宏因此,为了在工作表更新时运行宏,我们使用VBA的工作表事件。

如果在指定范围内对表进行了任何更改,则运行宏 |若要在指定范围内的值更改时运行宏代码,请使用此VBA代码。它检测到在指定范围内所做的任何更改,并将触发该事件。

使用突出显示当前行和列的最简单VBA代码使用此VBA小片段突出显示工作表的当前行和列。

热门文章:

50 Excel快捷方式以提高生产率更快地完成任务。这50个快捷键将使您在Excel上的工作更加快捷。

Excel中的VLOOKUP函数在Excel 2016中为COUNTIF使用此惊人的功能对条件进行计数。您无需过滤数据即可计算特定值。

Countif功能对于准备仪表板至关重要。

如何在Excel中使用SUMIF函数这是仪表板的另一个重要功能。这可以帮助您汇总特定条件下的值。