请教 Excel VBA Range.offset 的用法 谢谢

如题所述

Range.Offset
属性
返回 Range 对象,它代表位于指定单元格区域的一定的偏移量位置上的区域。
语法
表达式.Offset(RowOffset,
ColumnOffset)
表达式 一个代表 Range 对象的变量。
参数

名称
必选/可选
数据类型
描述

RowOffset 可选 Variant 区域偏移的行数(正数、负数或 0(零))。正数表示向下偏移,负数表示向上偏移。默认值是 0。
ColumnOffset 可选 Variant 区域偏移的列数(正数、负数或 0(零))。正数表示向右偏移,负数表示向左偏移。默认值是
0。
示例

此示例激活 Sheet1 上活动单元格向右偏移三列、向下偏移三行处的单元格。

Visual Basic for Applications

Worksheets("Sheet1").Activate
ActiveCell.Offset(rowOffset:=3, columnOffset:=3).Activate

此示例假设 Sheet1 中包含一个具有标题行的表格。此示例先选定该表格,但并不选择行首。运行此示例之前,活动单元格必须位于表格中。

Visual Basic for Applications

Set tbl = ActiveCell.CurrentRegion
tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _
tbl.Columns.Count).Select
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-07-30
“OFFSET”函数返回某个单元格的值,该单元格与在相邻区域中引用的单元格或单元格区域相距指定数量的行和列。

请在一个空白 Excel 工作表中输入以下数据。这些数据将用于本文中的所有示例公式。
A1:Name B1:Dept C1:Age
A2:Henry B2:501 C2:28
A3:Stan B3:201 C3:19
A4:Mary B4:101 C4:22
A5:Larry B5:301 C5:29

在单元格 E2(或任何可用的空单元格)中输入以下公式:
=OFFSET(C2,2,-1,1,1)
C2 - 所引用的单元格。
2 - 指示要移动的行数。正数表示向下移动,负数表示向上移动。
-1 - 指示要移动的列数。正数表示向右移动,负数表示向左移动。
1(倒数第二个值)-(可选。)指示要返回多少行数据。此数字必须为正数。
1 (最后一个值)-(可选。)指示要返回多少列数据。此数字必须为正数。

例如:
在使用此公式时,“OFFSET”函数返回从单元格 C2 开始向下两行、向左一列的单元格(即单元格 B4)的值。单元格 B4 中的值为“101”。因此,公式返回“101”。

参考资料:http://support.microsoft.com/kb/324991/zh-cn

本回答被网友采纳
第2个回答  2011-02-18
如你要指定A2单元格
可以这样
range("A1").offset(1)
即向下偏移一行。类推本回答被提问者采纳
第3个回答  2011-02-19
最好的学习教材是excel 帮助文件
相似回答