首页 > 办公 > Excel > 正文

excel target对象

2019-10-25 20:23:02
字体:
来源:转载
供稿:网友

  首先说明,单从字面上来理解,target就是目标的意思,我们也可以这样来理解,被选择的对象,其实就是要操作的目标target。

  一、target的应用范围

  target能在两个地方出现,一是事件,二是VBA代码中。

  比如,Worksheet_SelectionChange(ByVal Target As Range) 这个事件中,就存在target对象,此用法为将单元格的范围当作目标来处理。

  在VBA中的target代码,诸如:Target.Address(0, 0),就是这样来使用。

  二、target应用代码范例

  范例代码一

  Private Sub Worksheet_SelectionChange(ByVal Target As Range)

  If Not Application.Intersect(Target, Union(Range("A1:A10"), Range("C1:C10"))) Is Nothing Then

  MsgBox "你选择了" & Target.Address(0, 0) & "单元格"

  End If

  End Sub

  代码解释:

  当选择工作表A1到A10,C1到C10单元格时将所选的单元格地址显示在消息框中。

  第2行代码使用Intersect方法判断所选单元格是否与A1到A10,C1到C10单元格重叠,如果重叠说明所选单元格在A1到A10,C1到C10单元格区域内。Intersect方法返回一个Range对象,此对象代表两个或多个范围重叠的矩形区域,语法如下:

  范例代码二

  使用单元格的Column属性和Row属性可以将触发条件限制在某一区域内,如下面的代码所示。

  Private Sub Worksheet_Change(ByVal Target As Range)

  If Target.Column = 1 And Target.Row < 11 Then

  Target.Offset(, 1) = Val(Target) * 3

  End If

  End Sub

  复制代码代码解析:

  当改变工作表的A1到A10单元格时,如果输入的是数值则将在对应的B列单元格写入乘以3的数值。

  第2行代码使用Column属性将触发条件限制在第1列,使用Row属性将触发条件限制在第10行以内,也就是A1到A10的区域范围内。

  范例代码三

  Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

  '这里的Target就不是区域了,是超链接

  End Sub

  范例代码四

  if ((Target.Row=4)and (Target.Column=3)) then

  Calendar1.Visible = True

  Target.Column=3'表示选中单元格在第3列

  Target.Row=4'表示选中单元格在第4行

  再有,Target.Offset(0, 1)=4表示在选中单元格向右偏移1列位置赋值。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表