萬盛學電腦網

 萬盛學電腦網 >> Excel教程 >> excel綜合 >> excel target對象

excel 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列位置賦值。

copyright © 萬盛學電腦網 all rights reserved