十七讲 excel工作表事件程序

excel事件程序和宏程序的区别

a.编写位置不同。事件程序只能在工作表的代码窗口编写,不可以在模块窗口中编辑,宏程序可以放在模块窗口。b.事件程序是自动运行的,不需要刻意去运行。

1.SelectionChange 单元格发生选取改变而触发的程序

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

MsgBox 123

End Sub

’target 是一个传递的通道,以不变应万变。


应用:比如说不想让别人修改我的sheet2表,也不允许复制。可以实现保护工作表的功能。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Address <> "$a$1" Then

[a1].Select

End If

End Sub

2.change

编辑某个单元格会触发程序的运行

Private Sub Worksheet_Change(ByVal Target As Range)

MsgBox 123

End Sub

‘只要编辑sheet工作表中的单元格,就会触发运行。change是反复运行的。使用change事件程序时候需要注意的地方。

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False '将事件程序暂时屏蔽掉

Target = Target * 2

Application.EnableEvents = True

End Sub

3.worksheet active

下面这段代码有问题,暂时没发现

Private Sub Worksheet_Activate()

If ActiveSheet.Name = "Sheet3" Then

Sheets("第十六讲").Select

End If

End Sub

4. calculate 监测公式发生改变

Private Sub Worksheet_Calculate()

MsgBox "公式值发生改变"

End Sub

5.deactive 当离开该工作表时候就会运行该程序

Private Sub Worksheet_Deactivate()

MsgBox "谢谢使用sheet3"

End Sub

6.followHyperlink

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

MsgBox Target.Address

End Sub

你可能感兴趣的:(十七讲 excel工作表事件程序)