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复制单元格,则需要提及 “。复制”。