分享

VBA中OFFSET函数的实际利用

 BorisBlog 2021-05-28

今日继续讲VBA实用代码的第十讲,相信大家通过这系列的文章学到了很多,今日着重讲解OFFSET函数在VBA中的利用。

1 Range("A32", Range("A32").End(xlUp)).Select

Range(ActiveCell, ActiveCell.End(xlUp)).Select

语句说明:执行上述代码后选择当前活动单元格向上至第一个非空单元格:

备注:ActiveCell是指当前活动单元格。

2 Range("A1", Range("A1").End(xltoRight)).Select

Range(ActiveCell, ActiveCell.End(xltoLeft)).Select

语句说明:执行上述代码后选择当前活动单元格向右至第一个非空单元格。

备注:是 "xlTORight"而不是 "xlRight"

3 Range("A2", Range("A2").Offset(0, 10)).Select

Range(ActiveCell, ActiveCell.Offset(0, 10)).Select

语句说明:执行上述代码后选择当前活动单元格向右至第10个单元格。

备注: OFFSET函数的意义与EXCEL函数中的意义有所不同。可以把他看做一个单元格的属性,即Range.Offset 属性。返回 Range 对象,它代表位于指定单元格区域的一定的偏移量位置上的区域。

表达式:Offset(RowOffset, ColumnOffset)

其中参数:RowOffset, ColumnOffset代表偏移行,列。数字可以是正数,负数,零值

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

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

4 Range("A20", Range("A20").Offset(0, -10)).Select

Range(ActiveCell, ActiveCell.Offset(0, -10)).Select

语句说明:执行上述代码后选择当前活动单元格向左至第10个单元格。

备注:ColumnOffset 代表 Variant 区域偏移的列数,负数表示向左偏移。

5 Range("a2", Range("a2").Offset(10, 0)).Select

Range(ActiveCell, ActiveCell.Offset(10, 0)).Select

语句说明:执行上述代码后,选择当前活动单元格向下至第10个单元格。

备注:RowOffset 代表Variant 区域偏移的行数,正数表示向下偏移,负数表示向上偏移。默认值是 0。

6 Range("A1").End(xlDown).Offset(1, 0).Select

语句说明:执行上述代码后,选择该行中第一个空单元格

备注:End(xlDown)是指向下移动

7 Range("A1").End(xltoRight).Offset(0,1).Select

语句说明:执行上述代码后,选择该列中第一个空单元格:

备注:End(xltoRight)是向右移动。

8 ActiveCell.Offset(0, -ActiveCell.Column + 1).Select

语句说明:执行上述代码后,移至当前行的第一个单元格的动作(即你按下“Home”键的动作)

ActiveCell.Offset( -ActiveCell.Row + 1,0).Select

语句说明:执行上述代码后,移至当前列的第一个单元格:

备注:充分利用OFFSET函数,实现单元格的选择。

看下面的代码:

运行:

9 ActiveCell.Offset(13, 14).Select

Selection.Offset(-3, -4).Select

语句说明:执行上述代码后,单元格间移动。

备注:你可以定义一变量,并且用offset来实现,

例如:varFreightRowsCount = Range("A1").CurrentRegion.Rows.Count

ActiveCell.Offset(varFreightRowsCount, 0).Select

今日内容回向:

1 OFFSET函数在VBA和EXCEL中有什么不同?

2 OFFSET函数在VBA中有哪些精彩利用

我从事管理工作多年,这一系列文章是根据多年的经验编写的,也是一直在利用的工具,非常方便好用。现在分享出来,希望能对同样在职场打拼的朋友有些许的帮助。

我的公众号“NZ_9668”和“VBA学习交流社群”里有更多的内容分享。对数据分析有需要的公司、组织或个人可以直接联系我,为你提供专业的技术支持。朋友们有问题请随时提出来,我们一起探讨学习。目的是能更好地利用Excel和VBA,提高工作效率,能有更多的时间和精力享受生活。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多