Dzwebs.Net

撰写电脑技术杂文十余年

excel target对象

Admin | 2011-11-22 9:50:59 | 被阅次数 | 32950

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  excel的VBA,经常使用target这个对象,下面,就给你介绍target是用来干什么的,如何才能正确使用。

  首先说明,单从字面上来理解,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列位置赋值。


该杂文来自: Excel杂文

上一篇:vba Unload介绍

下一篇:Excel使用函数帮助

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计