VBA入门到进阶常用知识代码总结18

第18集 工作簿事件
78、 工作簿事件代码存放在ThisWorkbook中。
79、 Open
打开工作簿时触发事件。如打开时显示登录界面等。
Private Sub Workbook_Open()
UserForm1.Show
End Sub
80、 BeforeClose
关闭工作簿时触发事件。参数Cancel设置为True,将禁止关闭,关闭按钮不起作用。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Cancel = True '禁止关闭excel工作簿
End Sub
81、 BeforePrint
打印之前触发事件。以下程序将禁止打印。
Private Sub Workbook_BeforePrint(Cancel As Boolean)
MsgBox “此excel文件禁止打印,如需打印请与管理员联系”
Cancel = True '禁止打印
End Sub
82、 NewSheet
插入新工作表时触发事件。如禁止插入新工作表代码如下:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
MsgBox “本工作簿禁止插入新工作表”
Application.DisplayAlerts = False '屏蔽弹出提示对话框
Sh.Delete
Application.DisplayAlerts = True
End Sub

Application.DisplayAlerts:
本示例关闭激活的工作簿,但不提示用户保存所作更改。不保存对工作簿所做的更改。
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
83、 Workbook_Activate
工作簿被激活时使用触发事件。如工作簿被激活时,添加一些自定义菜单。
Private Sub Workbook_Activate()

End Sub
84、 Workbook_Deactivate
离开工作簿时触发事件。如从工作簿切花到其他工作簿是,可设置删除自定义菜单等功能。
Private Sub Workbook_Deactivate()

End Sub
85、 SheetSelectionChange
工作表鼠标选取单元格时触发,与工作表的SelectionChange事件不同处在于,对工作簿中所有工作表都适用,范围更广;另外比工作表的SelectionChange事件多一个Sh参数。
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.name = “Sheet2” Then
MsgBox Target.Address
MsgBox Sh.name
End If
End Sub
86、 SheetChange
工作表编辑时触发事件。范围比工作表的change事件广,参数多。
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

End Sub

发布了47 篇原创文章 · 获赞 0 · 访问量 235

猜你喜欢

转载自blog.csdn.net/tiansdk320/article/details/104351186