VBA OFFSET功能|如何使用Excel VBA偏移属性(示例)
Excel VBA OFFSET功能
VBA偏移 该函数用于移动或引用跳过特定行数和列数的引用,VBA中此函数的参数与工作表中的参数相同。
例如,假设您有一组数据,如下所示。
现在从单元格A1中向下移动4个单元格,然后选择第5个单元格,即A5单元格。
同样,如果您要从A1单元格向下移动2行,并向右移2列,然后选择该单元格,即C2单元格。
在这些情况下,OFFSET功能非常有用。特别是在VBA OFFSET中,功能非常出色。
OFFSET与Excel VBA中的Range对象一起使用
在VBA中,我们无法直接输入单词OFFSET。我们需要首先使用VBA RANGE对象,然后从该范围对象中使用OFFSET属性。
在excel范围内不过是一个单元格或该单元格的范围。由于OFFSET是指单元格,因此我们需要先使用RANGE对象,然后才能使用OFFSET方法。
VBA Excel中OFFSET的语法
- 行偏移量: 您要从所选单元格偏移多少行。此处选择的单元格为A1,即范围(“ A1”)。
- 列偏移量: 您要从所选单元格偏移多少列。此处选择的单元格为A1,即范围(“ A1”)。
例子
您可以在此处下载此VBA偏移模板– VBA偏移模板范例#1
考虑以下数据作为示例演示。
现在,我要从单元格A1中选择单元格A6。使用Range对象启动宏和引用单元格。
代码:
Sub Offset_Example1()范围(“ A1”)。offset(结束Sub
现在我要选择单元格A6,即我要记下5个单元格。因此,输入5作为“行偏移”的参数。
代码:
Sub Offset_Example1()范围(“ A1”)。offset(5结束Sub
由于我选择的是同一列,因此省略了列部分。合上支架并放一个点(。),然后输入方法“选择”。
代码:
Sub Offset_Example1()范围(“ A1”)。Offset(5)。选择End Sub
现在,使用F5键运行此代码,或者您可以手动运行以选择单元格A6,如下所示。
输出:
范例#2
现在获取相同的数据,但是这里还将看到如何使用列偏移量参数。现在,我要选择单元格C5。
因为我想首先选择单元格C5,所以我想向下移动4个单元格并向右移2列以到达单元格C5。以下代码将为我完成这项工作。
代码:
Sub Offset_Example2()范围(“ A1”)。Offset(4,2)。选择End Sub
我手动运行此代码或使用F5键运行它,它将选择单元格C5,如下面的屏幕截图所示。
输出:
例子#3
我们已经看到了如何偏移行和列。我们也可以从指定的单元格中选择以上单元格。例如,如果您在单元格A10中,并且想要选择A1单元格,那么如何选择?
如果向下移动单元格,我们可以输入一个正数,因此在此处向上移动时,我们需要输入一个负数。
在A9单元格中,我们需要向上移动8行,即-8。
代码:
Sub Offset_Example1()范围(“ A9”)。Offset(-8)。选择End Sub
如果使用F5键运行此代码,或者可以手动运行此代码,则它将从A9单元格中选择单元格A1。
输出:
例子#4
假设您在单元格C8中。您要从此单元格中选择单元格A10。
从活动单元格即C8单元格中,我们首先需要向下移动2行,然后需要向左移动2列以选择单元格A10。
如果向左移动以选择列,我们需要指定数字为负数。所以在这里,我们需要返回-2列。
代码:
Sub Offset_Example2()范围(“ C8”)。Offset(2,-2)。选择End Sub
现在使用F5键运行此代码或手动运行,它将选择A10单元,如下所示:
输出:
要记住的事情
- 如果要增加行数,我们需要指定负数。
- 如果向左移动以选择列,则数字应为负。
- A1单元格是第一行和第一列。
- 活动单元是指当前选择的单元。
- 如果要使用“偏移”选择单元格,则需要提及 “。选择”。
- 如果要使用OFFSET复制单元格,则需要提及 “。复制”。