VBA中OFFSET函数的实际利用
今日继续讲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,提高工作效率,能有更多的时间和精力享受生活。