excel事件程序和宏程序的區(qū)別
a.編寫位置不同慢洋。事件程序只能在工作表的代碼窗口編寫塘雳,不可以在模塊窗口中編輯,宏程序可以放在模塊窗口普筹。b.事件程序是自動運行的败明,不需要刻意去運行。
1.SelectionChange 單元格發(fā)生選取改變而觸發(fā)的程序
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox 123
End Sub
’target 是一個傳遞的通道太防,以不變應(yīng)萬變妻顶。
應(yīng)用:比如說不想讓別人修改我的sheet2表,也不允許復制蜒车』渲觯可以實現(xiàn)保護工作表的功能。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address <> "$a$1" Then
[a1].Select
End If
End Sub
2.change
編輯某個單元格會觸發(fā)程序的運行
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox 123
End Sub
‘只要編輯sheet工作表中的單元格酿愧,就會觸發(fā)運行沥潭。change是反復運行的。使用change事件程序時候需要注意的地方寓娩。
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False '將事件程序暫時屏蔽掉
Target = Target * 2
Application.EnableEvents = True
End Sub
3.worksheet active
下面這段代碼有問題叛氨,暫時沒發(fā)現(xiàn)
Private Sub Worksheet_Activate()
If ActiveSheet.Name = "Sheet3" Then
Sheets("第十六講").Select
End If
End Sub
4. calculate 監(jiān)測公式發(fā)生改變
Private Sub Worksheet_Calculate()
MsgBox "公式值發(fā)生改變"
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