Excel VBA解读(81):工作表事件示例
微信公众号:excelperfect
本文再列举一些示例,以加深对工作表事件的理解,方便应用。
示例1:阻止用户修改指定单元格区域的数据
当用户修改工作表中指定单元格区域的数据时,给出提示信息并改回为原数据。
代码如下:
Dim data
Private Sub Worksheet_Change(ByValTarget As Range)
If Not Intersect(Target, Range("A1:C3")) Is Nothing Then
MsgBox "该区域数据重要,请不要修改!"
Application.EnableEvents = False
Target.Value = http://www.gunmi.cn/v/data
Application.EnableEvents = True
End If
End Sub
Private Sub Worksheet_SelectionChange(ByValTarget As Range)
data = http://www.gunmi.cn/v/Target.Value
End Sub
运行效果如图1所示。
图1
示例2:让不同的工作表有不同的快捷菜单
在工作表“完美Excel”中,单击右键会出现属于该工作表的快捷菜单,同样,在工作表“Data”中单击右键也会出现属于该工作表的快捷菜单。如下图2所示。
图2
实现上述效果的代码如下。
在“完美Excel”工作表代码模块的BeforeRightClick事件中,输入下面的代码:
Private SubWorksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim cmb_excelperfect As CommandBar
Set cmb_excelperfect = CreateSubMenu("完美Excel")
Cancel = True
cmb_excelperfect.ShowPopup
End Sub
在“Data”工作表代码模块的BeforeRightClick事件中,输入相似的代码:
Private SubWorksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim cmb_data As CommandBar
Set cmb_data = http://www.gunmi.cn/v/CreateSubMenu("数据处理")
Cancel = True
cmb_data.ShowPopup
End Sub
插入一个标准模块,并输入下面的代码:
示例3:双击单元格时显示输入框
在双击工作表第1列中的单元格时,会显示下图3所示的自定义输入框。
图3
在其中输入相应的数据后,单击“输入”即将数据输入到双击的单元格所在行的第1至3列所在的单元格。如图4所示。
图4
实现上述效果的代码如下。
插入一个标准模块,并声明一个全局变量。
Global lngRow As Long
创建一个如图3所示的用户窗体,窗体名及相应的控件名如图3所示。代码如下:
Private Sub cmdEntry_Click()
Cells(lngRow, 1).Value = http://www.gunmi.cn/v/txtXM
Cells(lngRow, 2).Value = http://www.gunmi.cn/v/txtXB
Cells(lngRow, 3).Value = http://www.gunmi.cn/v/txtCJ
End Sub
在工作表代码模块中,输入下面的代码:
Private SubWorksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Then
Cancel = True
lngRow = Target.Row
ufmTest.Show
End If
End Sub
示例4:根据比较结果自动显示上升或下降的箭头
这是Bill Jelen提供的一个例子。如图5所示,比较两年同一个月份的利润。若利润上升,将在月份下面显示向上的红色箭头,如果利润下降,则在月份下面显示向下的绿色箭头。
图5
使用了工作表的Calculate事件,代码如下:
在我们前面的文章中,也介绍过一些工作表事件的示例,你可以参照学习理解。
工作表事件为Excel自动化打开了一扇明亮的窗,有很多有用的应用,以后的文章中会穿插讲解。
你有什么好的工作表事件应用实例吗?欢迎分享。
本文为原创文章,转载请注明出处。
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
欢迎关注[完美Excel]微信公众号:
方法1—在微信“添加朋友”或者通讯录中搜索“完美Excel”或者“excelperfect”后点击关注。
方法2—扫一扫下面的二维码
别忘了,留言、点赞、点击每篇文章底部的广告,也是给我的支持和鼓励哟!
- 深入解读 | 大立光股价溜滑梯之谜!1个月重挫28%、市值蒸发上千
- 2018年北京小客车指标政策做了什么调整? 详细解读
- 【经典执行案例解读八】拍卖被执行人房产的执行案例
- 解读幸福密码,你感受到幸福了吗
- 12.13黄金市场加息行情将至,多头能否翻身近期行情解读
- 哈尔滨市(节能环保PPP)节能环保角度解读PPP政策、探究PPP实操
- 财政部解读PPP咨询机构库管理暂行办法
- 《55节课成为80种重疾条款的解读高手——进行性核上性麻痹和破裂
- 律师解读《新婚姻法》 全职太太最危机!如何保证自己的权益?
- 什么是现代化经济体系?下午三点,听权威专家解读