5.4.2-事件

一般代码执行我们会提供一个按钮作为触发,点击按钮的这个动作我们称为一个事件。在Excel中存在很多事件,如本章节中Excel启动后对应的事件。利用事件我们可以自动触发执行代码。一个事件可以理解为某一个事情发生了,一般后续会触发某一个代码段运行。

Excel事件代码写于对应工作簿或者工作表对应的代码区域,而不是写在模块中。每一个工作表都可以建立事件代码,工作簿文件也可以建立事件。

1) 工作簿启动事件,本质也是一个Sub过程,只不过Sub名称不同。从Workbook_Open名称也可以看出它的含义,下划线_后表示具体的事件名,下划线_前表示事件对应哪个对象,后续事件对应的Sub名也是符合这个命名规则,所以也是能够一下就看明白。


../_images/5-11.png

图5-11 工作簿启动事件


工作簿支持的事件比较多,如图5-12所示,选择不同的事件会自动生成一个Sub过程,直接在这个Sub中写入代码即可。


../_images/5-13.png

图5-13 工作簿事件


2)工作表事件:

  • 1)工作表选择变化事件,Target为最新选择单元格。以下代码实现显示当前所选择单元格的内容

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    s = Target.Value
    MsgBox s

End Sub
  • 2)工作表变化事件,Target为最新变化单元格。以下代码显示该工作表变化单元格的单元格值

Private Sub Worksheet_Change(ByVal Target As Range)
    s = Target.Value
    MsgBox s
End Sub

常用的是工作簿启动事件,工作表相关事件倒是用的很少,当然还是看具体业务。