VBA基础学习之1.11事件

VBA基础学习之事件


在VBA中,要手动更改单元格或单元格值范围时,可以触发事件驱动的编程。 更改事件可能会使事情变得更容易,但您可以非常快速地结束一个完整的格式化页面。VBA中有两种事件 -

  • 工作表事件
  • 工作簿事件

1.11.1 工作表事件
工作表事件在工作表中发生更改时被触发。 它是通过右键单击工作表选项卡并选择“查看代码”,然后粘贴代码来创建的。
在这里插入图片描述
用户可以选择这些工作表中的每一个,并从下拉列表中选择“工作表”以获取所有支持的工作表事件的列表。
在这里插入图片描述
以下是可以由用户添加的支持的工作表事件。

Private Sub Worksheet_Activate()
 MsgBox ("这是一个Worksheet_Activate事件触发提示")
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   MsgBox ("这是一个双击事件触发提示")
End Sub

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
MsgBox ("这是一个Worksheet_BeforeRightClick事件触发提示")
End Sub

Private Sub Worksheet_Calculate()
MsgBox ("这是一个Worksheet_Calculate事件触发提示")
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox ("这是一个Worksheet_Change事件触发提示")
End Sub

Private Sub Worksheet_Deactivate()
MsgBox ("这是一个Worksheet_Deactivate事件触发提示")
End Sub

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
MsgBox ("这是一个Worksheet_FollowHyperlink事件触发提示")
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox ("这是一个Worksheet_SelectionChange事件触发提示")
End Sub

例子
在这个示例中,只需要双击之前显示一条消息。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   MsgBox ("这是一个双击事件触发提示")
End Sub

双击任何单元格后,消息框将显示给用户,如以下屏幕截图所示。

在这里插入图片描述


1.11.2 工作簿事件
工作簿事件总是在工作簿发生更改时触发的。可以通过选择“ThisWorkbook”并从下拉列表中选择“workbook”来添加工作簿事件的代码,如下图所示。
在这里插入图片描述
立即将Workbook_open子过程显示给用户,如以下屏幕截图所示。
在这里插入图片描述
以下是可以由用户添加的受支持的工作簿事件。

Private Sub Workbook_AddinUninstall()
   MsgBox ("这是一个Workbook_AddinUninstall事件触发提示")
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
   MsgBox ("这是一个Workbook_BeforeClose事件触发提示")
End Sub

Private Sub Workbook_BeforePrint(Cancel As Boolean)
   MsgBox ("这是一个Workbook_BeforePrint事件触发提示")
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
   MsgBox ("这是一个Workbook_BeforeSave事件触发提示")
End Sub

Private Sub Workbook_Deactivate()
 MsgBox ("这是一个Workbook_Deactivate事件触发提示")
End Sub

Private Sub Workbook_NewSheet(ByVal Sh As Object)
 MsgBox ("这是一个Workbook_NewSheet事件触发提示")
End Sub

Private Sub Workbook_Open()
 MsgBox ("这是一个Workbook_Open事件触发提示")
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
 MsgBox ("这是一个Workbook_SheetActivate事件触发提示")
End Sub

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
 MsgBox ("这是一个Workbook_SheetBeforeDoubleClick事件触发提示")
End Sub

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
 MsgBox ("这是一个Workbook_SheetBeforeRightClick事件触发提示")
End Sub

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
 MsgBox ("这是一个Workbook_SheetCalculate事件触发提示")
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
 MsgBox ("这是一个Workbook_SheetChange事件触发提示")
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
 MsgBox ("这是一个Workbook_SheetDeactivate事件触发提示")
End Sub

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
 MsgBox ("这是一个Workbook_SheetFollowHyperlink事件触发提示")
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
 MsgBox ("这是一个Workbook_SheetSelectionChange事件触发提示")
End Sub

Private Sub Workbook_WindowActivate(ByVal Wn As Window)
 MsgBox ("这是一个Workbook_WindowActivate事件触发提示")
End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
 MsgBox ("这是一个Workbook_WindowDeactivate事件触发提示")
End Sub

Private Sub Workbook_WindowResize(ByVal Wn As Window)
 MsgBox ("这是一个Workbook_WindowResize事件触发提示")
End Sub

例子
只需要向用户显示一条消息,无论何时创建新的工作表,都会成功创建新的工作表。

Private Sub Workbook_NewSheet(ByVal Sh As Object)
   MsgBox "New Sheet Created Successfully"
End Sub

在创建一个新的excel工作表后,会向用户显示一条消息,如以下屏幕截图所示。
在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值