VBA中OFFSET函数的实际利用

论坛 期权论坛 期权     
VBA语言专家   2019-6-29 21:07   3237   0

蓝字关注,加微信NZ9668获资料信息

《VBA代码解决方案》系列书作者
头条百家平台 VBA资深创作者
_______________________________

今日继续讲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中有哪些精彩利用?

_____________________________

觉得有启发,点个“在看”,转给朋友们
欢迎你“留言”,和作者直接交流

更多关联阅读








  








分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:200
帖子:40
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP