有时我们自己写一个弹出菜单希望代替EXCEL的弹出菜单,可以在BeforeRightClick事件中用代码先弹出自己的菜单,然后Cancel=true 4组:Sanbe 21:44:09 Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If Target.Row < 4 And Target.Column < 3 Then Cancel = True MsgBox "不能编辑", 16 End If End Sub Calculate 在对工作表进行重新计算之后产生此事件。 *FollowHyperlink 当鼠标单击工作表上的任意超级链接时将发生此事件。 *PivotTableUpdate 数据透视表更新后发生 这三个事件不是很常用,我们就不讲了
下面我们探讨第3个话题 3.如何调用事件代码 我们前面说的事件都是由“事”触发的,事实上,事件作为一个过程,是可以用代码调用的 特别是在禁用了事件后,需要自己来控制代码的运行 对事件的调用和过程本质上没有区别 但不能使用命名参数的形式或省略参数,必须严格按事件过程的形式调用 事件过程默人是Private私有过程 一般只能从模块内调用 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Worksheet_Change Target End Sub Private Sub Worksheet_Change(ByVal Target As Range) MsgBox "你选择了" & Target.Address End Sub 我们把考虑实用性,而只展示代码的运行效果 一般情况下,选定单元格时是不会触发Change事件的,但上面的代码可以让我们在选定时运行Change事件的代码 上面的实践中没有必要性,只是说明调用方法 谁可以贴一下运行效果 也可写成Call Worksheet_Change(Target) 呵呵~Call Worksheet_Change(Target)容易明白一点 如果需要在模块中调用,需要把默认的Private改为Public 有没有Call有什么区别啊 等一下解释 Public Sub Worksheet_Change(ByVal Target As Range) MsgBox "你选择了" & Target.Address End Sub
|