Range.Item 属性 (Excel)

返回一个 Range 对象,它表示指定区域以外的一个区域。

语法

表达式Item (RowIndexColumnIndex)

expression 一个表示 Range 对象的变量。

参数

名称 必需/可选 数据类型 说明
RowIndex 必需 Variant 如果提供了第二个参数,则返回要返回的单元格的相对行号。

如果未提供第二个参数,则返回要返回的子范围索引。
ColumnIndex 可选 Variant 要返回的单元格的相对列号。

备注

如果 expression 不是包含单个单元格集合的区域,例如,因为 已通过 Columns 成员获取,则提供第二个参数是非法的,并将导致错误 1004。

Range 的默认成员将带有参数的调用转发到 Item 成员。 因此, someRange(1)someRange(1,1) 分别等效于 someRange.Item(1)someRange.Item(1,1)

RowIndexColumnIndex 参数是区域第一个区域的左上角单元格的相对偏移量,由 Areas 成员返回,即对于区域 Union(someSheet.Range("Z4:AA6"), someSheet.Range("A1:C3"))Item(1,1)将返回地址为 $Z $4 的区域。

ColumnIndex 可以作为数字索引或列地址字符串提供,如 A1 表示法中所示,即"A"引用数字索引1"AA"27

可以使用 Item 属性通过提供适当的参数来引用原始区域之外的单元格,例如Item(3,3),将为区域 someSheet.Range("B2:C3")返回 的单元格。"D4"

仅提供一个参数时返回的范围取决于范围的性质:

  • 对于由 单元格和 Range成员返回 的单个单元格组成的区域, Item 返回单个单元格。 参数 RowIndex 在枚举范围从左到右而不是从上到下的第一个区域时引用索引,因为对于两个二维数组。 如果 RowIndex 大于区域第一个区域中的单元格数,则枚举就像区域向下扩展一样。

  • 对于由行返回的行范围组成的区域,Item 返回行范围。 参数 RowIndex 是从 1 开始的偏移量,从范围的第一行沿从上到下的方向。

  • 对于包含列范围(如 返回)的区域, Item 返回列范围。 参数 RowIndex 是从 1 开始的从左到右方向的第一列的偏移量。 在这种情况下,索引也可以作为列地址字符串提供。

示例

以下示例显示如果同时提供了这两个参数,将返回哪个单元格。

Public Sub PrintAdresses()
   Dim exampleRange As Excel.Range
   With ThisWorkbook.Worksheets("ExampleSheet")
      Set exampleRange = Application.Union(.Range("B2:D4"), .Range("A1"), .Range("Z1:AA20"))
   End With
  
   Debug.Print exampleRange.Item(1,1).Address      'Prints "$B$2"
   Debug.Print exampleRange.Item(2,4).Address      'Prints "$E$3"
   Debug.Print exampleRange.Item(20,40).Address    'Prints "$AO$21"
   Debug.Print exampleRange.Item(2,"D").Address    'Prints "$E$3"
   Debug.Print exampleRange.Item(20,"AN").Address  'Prints "$E$3"
End Sub

以下示例显示,如果只提供一个参数,则返回子范围是不同类型的范围。

Public Sub PrintAdresses()
   Dim exampleRange As Excel.Range
   With ThisWorkbook.Worksheets("ExampleSheet")
      Set exampleRange = Application.Union(.Range("B2:D4"), .Range("A1"), .Range("Z1:AA20"))
   End With

   Debug.Print exampleRange.Cells.Item(1).Address      'Prints "$B$2"
   Debug.Print exampleRange.Cells.Item(2).Address      'Prints "$C$2"
   Debug.Print exampleRange.Cells.Item(4).Address      'Prints "$B$3"
   Debug.Print exampleRange.Cells.Item(10).Address     'Prints "$B$5"
  
   Debug.Print exampleRange.Rows.Item(1).Address       'Prints "$B$2:$D$2"
   Debug.Print exampleRange.Rows.Item(10).Address      'Prints "$B$11:$D$11"
  
   Debug.Print exampleRange.Columns.Item(1).Address    'Prints "$B$2:$B$4"
   Debug.Print exampleRange.Columns.Item(10).Address   'Prints "$K$2:$K$4"
   Debug.Print exampleRange.Columns.Item("A").Address  'Prints "$B$2:$B$4"
   Debug.Print exampleRange.Columns.Item("J").Address  'Prints "$K$2:$K$4"
End Sub

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。