Excel-VBA实例教程-#020:工作表事件Target参数的使用方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

在工作表的SelectionChange事件中,参数Target代表新选定的区域,在工作表的Change事件中参数Target代表更改的区域。在实际应用中可以使用Target参数将触发工作表事件的区域限制在一定的范围内,有以下几种方法:1、使用单元格的Address属性使用单元格的Address属性可以将触发条件限制在某一个单元格中,如下面的代码所示。1.PrivateSubWorksheet_SelectionChange(ByValTargetAsRange)2.IfTarget.Address(0,0)=A1Then3.MsgBox你选择了A1单元格4.EndIf5.EndSub代码解析:当选择工作表A1单元格时显示一个消息框。第2行代码使用Address属性返回所选单元格的区域引用,当返回的区域引用是“A1”时触发SelectionChange事件,显示一个消息框。此方法只适用于单个单元格或者加上OR运算符可以适用于几个单元格,多则不方便。2、使用Column属性和Row属性使用单元格的Column属性和Row属性可以将触发条件限制在某一区域内,如下面的代码所示。1.PrivateSubWorksheet_Change(ByValTargetAsRange)2.IfTarget.Column=1AndTarget.Row11Then3.Target.Offset(,1)=Val(Target)*34.EndIf5.EndSub代码解析:当改变工作表的A1到A10单元格时,如果输入的是数值则将在对应的B列单元格写入乘以3的数值。第2行代码使用Column属性将触发条件限制在第1列,使用Row属性将触发条件限制在第10行以内,也就是A1到A10的区域范围内。3、使用Intersect方法使用Intersect方法可以很方便的指定一个或多个区域范围,如下面的代码所示。1.PrivateSubWorksheet_SelectionChange(ByValTargetAsRange)2.IfNotApplication.Intersect(Target,Union(Range(A1:A10),Range(C1:C10)))IsNothingThen3.MsgBox你选择了&Target.Address(0,0)&单元格4.EndIf5.EndSub代码解析:当选择工作表A1到A10,C1到C10单元格时将所选的单元格地址显示在消息框中。第2行代码使用Intersect方法判断所选单元格是否与A1到A10,C1到C10单元格重叠,如果重叠说明所选单元格在A1到A10,C1到C10单元格区域内。Intersect方法返回一个Range对象,此对象代表两个或多个范围重叠的矩形区域,语法如下:expression.Intersect(Arg1,Arg2,...)参数expression是可选的,返回一个Application对象。参数Arg1,Arg2,...是必需的,重叠的区域。必须指定至少两个Range对象。

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功