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

(0)

相关推荐

  • 统计不重复数据

    我有手工台账如下: 小本买卖,上面都是便利店的王牌销售产品! 随着种类的不断丰富,我想知道我进货的种类一共有多少! 怎么做? 思路一: 文字描述: 找到每一个品种在整个列表中有几个,如果有N个,则自己 ...

  • VBA中ROUND函数浅析

    VBA四舍五入函数round()的一些不同四舍五入对于我们来说再熟悉不过了,但这次却碰到一个麻烦的问题. 由于实行全员个人所得税申报,从地税拿到了个人所得税申报软件,按要求把数据都导入后,软件计算出所 ...

  • 巧妙利用offset函数制作Excel动态图表

    或许你每月要也写总结,比如根据最近半年的收入或流量做图表,如果每月手动修改数据源,很麻烦.而如果每天要制作最近一周的销量图,每天都要修改图表的数据源,那就更费时间了,怎样做到每天打开表格,自动展现最近 ...

  • VBA中的REPLACE函数的问题

    今天见到EH一位会员问一个REPLACE函数的问题,代码如下:1 Sub Macro2()2 s = " --- "3 s = Replace (s, " - " ...

  • VBA教程:全面谈一谈VBA中调用系统字符串函数

    哈喽,小伙伴们大家好,今天跟大家谈一谈VBA中调用系统函数. 学习VBA的同学们如果函数有点基础的话可以在VBA中调用很多天然的系统函数,很多时候可以节省写算法的时间. 今天我们就处理字符串的函数来专 ...

  • Excel中通过OFFSET函数计算指定区间的销售额,简单到没朋友!

    Excel中通过OFFSET函数计算指定区间的销售额,简单到没朋友!

  • 【20180911】- VBA中数组、集合和字典(三)——数组的常用函数

    大家好,我是中药党.上次我们一块学习了ExcelVBA中数组赋值的相关内容,涉及的知识点还是不少的,尤其是常用的使用Split函数取得一维数组.用Range进行整体赋值和比较少用的用Redim Pre ...

  • Excel中特别有用的不常用函数之Offset函数

    在几百个Excel的函数中,OFFSET的地位有点特别.一方面,有很多人根本不了解这个函数,甚至不知道它的存在.另一方面,在基本上稍微复杂一点的场景中,都可以看到OFFSET的影子. 今天,我就为大家 ...

  • 【源码分享】VBA中一些常用的自定义函数

    ▎写在前面 都说写VBA像累积木,除了核心部分的循环逻辑思路,其余都是再堆砌代码.这篇文章就罗列一下我在写VBA程序中,常用的一些自定义函数. ·列标相互转换 很多时候得到的列标是数字列标,需要把它转 ...

  • Excel中超强的offset函数你真会用?三个操作分分钟提升工作效率

    Excel中除了常规的查询匹配函数,还有一个80%的人基本没有使用过的函数,那就是Offset函数,可能很多人没有讲过这个函数,更谈不上如何去使用.今天我们就来用三个案例,来学习一下看看这个函数到底有 ...