使用工作表更改事件要运行宏当任何更改时
如果您在这里,则可能是您想学习每次在特定工作表中进行更改时如何运行子例程。本文将对此进行精确讲授。因此,让我们开始吧。
工作表更改事件处理程序的语法为:
Private Sub worksheet_change(ByVal Target As Range) 'your code ' ' End Sub
为了工作,必须在工作表对象中编写此代码,而不是在常规模块中编写。
Private Sub worksheet_change(ByVal Target As Range) Msgbox "You updated something in this sheet" End Sub
如果在sheet1上有此代码,并且在sheet1上写入或删除了某些内容,则将弹出消息“您更新了此工作表中的内容”。
在普通模块中不起作用。但是您可以从任何模块调用子例程。我们将在本届会议上做同样的事情。
方案:
RunExcel宏,如果在工作表上进行了任何更改
因此,假设我们有一个宏,它可以根据某些条件更改单元格的颜色。就像Excel的条件格式一样。唯一的区别是,当我们使用按钮或运行命令运行此VBA代码时,单元格的颜色会发生变化,而值的更改不会发生变化。我们希望在工作表中进行任何更改时都运行宏。在这里VBA活动会有所帮助。现在,我们将使用工作表更改事件。
请按照下列步骤操作:
-
转到项目资源管理器,然后双击要在其上触发worksheet.change事件的工作表。我想在Sheet2上进行一些更改时触发事件,所以我双击Sheet2。您也可以右键单击并单击查看代码以打开图纸对象的代码编写区域。在代码区域中,编写以下代码行。
Private Sub Worksheet_Change(ByVal Target As Range) End Sub
worksheet_change(目标为范围)是一个保留的子例程,当包含工作表的代码发生更改时运行。
编写此代码时,您将看到对象更改为工作表。请参阅左上方的下拉菜单。在右上角的下拉菜单中,事件为“更改”。
_如果您使用下拉菜单并在左侧下拉菜单中选择工作表,则所有可用事件将显示在右侧下拉菜单中。
无论您选择哪个下拉菜单,该事件的代码都会自动写入。您只需要用自定义子例程填充它。
_ * Now just put your code in this segment. I want to call my subroutine that is in a module. So I simply call that subroutine in this worksheet event handler. My subroutine isFormatUsingVBA() in Module1
Private Sub worksheet_change(ByVal Target As Range) Call FormatUsingVBA End Sub
现在,无论何时我们要在sheet2中进行更改,宏FromatUsingVBA都将运行。
是的,当工作表更改其内容时,如何使用工作表更改事件处理程序运行VBA脚本。希望对您有所帮助。如果您对此事件处理程序有任何疑问,请在评论部分中提及它。
相关文章:
使用突出显示当前行和列的简单VBA代码 ** |使用此小VBA代码段突出显示工作表的当前行和列。
`link:/ events-in-vba-the-worksheet-events-excel-vba [Excel VBA中的工作表事件] ** |当您希望在工作表上发生指定事件时运行宏时,工作表事件非常有用。
`link:/ events-in-vba-run-macro-如果有任何更改,在工作表范围内运行[如果在指定范围内在工作表上进行了任何更改,则运行宏] **若要在指定范围内的值更改时运行宏代码,请使用此VBA代码。它检测到在指定范围内所做的任何更改,并将触发该事件。
热门文章:
50 Excel快捷方式以提高生产率更快地完成任务。这50个快捷键将使您在Excel上的工作速度更快。
Excel中的VLOOKUP函数在Excel 2016中为COUNTIF使用此惊人的功能对条件进行计数。您无需过滤数据即可计算特定值。
Countif功能对于准备仪表板至关重要。
如何在Excel中使用SUMIF函数这是仪表板的另一个重要功能。这可以帮助您汇总特定条件下的值。