今日继续讲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,提高工作效率,能有更多的时间和精力享受生活。 |
|