vba查找数据并返回单元格地址_VBA代码解决方案第122讲:在VBA中使用单元格Offset属性详解...
大家好,我们今日继续讲解VBA代码解决方案的第122讲内容:如何在VBA中使用单元格Offset 属性。其实这讲的内容非常的简单,却是应很多的朋友要求来写的,很多人提出单元格的引用和定位问题。其实这个问题对于新手是很困扰的,对于成手来说,单元格的定位也需要深入的理解。引用工作表单元格非常灵活的方法是使用Offset属性。当你在运行程序时,你也许不知道某个单元格的确切地址,或者不关心单元格的确切地址
大家好,我们今日继续讲解VBA代码解决方案的第122讲内容:如何在VBA中使用单元格Offset 属性。其实这讲的内容非常的简单,却是应很多的朋友要求来写的,很多人提出单元格的引用和定位问题。其实这个问题对于新手是很困扰的,对于成手来说,单元格的定位也需要深入的理解。
引用工作表单元格非常灵活的方法是使用Offset属性。当你在运行程序时,你也许不知道某个单元格的确切地址,或者不关心单元格的确切地址。你也不能通过具体的参数来选择一个你根本不知道地址的单元格。而我们关心的却是基于当前选择的活动单元格来判断新的位置,从而选择一个需要的单元格位置。这一点也就是Offset属性的强项。
Offset属性是通过计算从开始选择的单元格向下或向上移动的具体行数,来得到新的区域的。同样也可以从当前选择的单元格区域向右或向左移动具体的列数。
offset属性返回一个 Range 对象,它以某一个特定的单元格为起点移动到另一个单元格或者区域,根据指定的行数和列数进行偏移。
Offset语法: Offset(RowOffset,ColumnOffset)
说明:偏移行列的数字可以是正数,负数,零值,其中偏移行数为正数则向下,负数向上偏移,偏移列数为正数向右负数向左。0表示与起始单元格相同,没有指定参数值则默认为0。
Offset属性使用两个自变量来获得新单元格区域的地址。第一个自变量表示行偏移,第二个自变量则表示列偏移。我们来测试一下几个例子:
例① Range("A1").Offset(1, 3).Select 选择单元格A1下面一行和右边三列的单元格
例② Range("D15").Offset(-2, -1).Select 选择单元格D15上面两行和左边一列的单元格
通过立即窗口来验证一下我们的选择:
上面的第一个例子里,Excel选择的时单元格D2。第二个例子,Excel选择了单元格C13。
如果单元格A1和D15已经被选中了,你也可以将上面的两个例子中的具体单元格地址换成当前选中的单元格,改写为这样:
Selection.Offset(1, 3).Select
Selection.Offset(-2, -1).Select
例③ ActiveCell.Offset(-1, 0).Select 返回结果是选择当前单元格上面一行的单元格(同列)
第三个例子里的第二个自变量是0,第一个或第二个自变量为0时,Offset属性相应表示当前行或当前列。
引申:如果当前活动单元格在第一行,那么指令ActiveCell.Offset(-1, 0).Select会 导致错误。如下:
今日内容回向:
1 OFFSET 是什么呢?
2 为什么要应用OFFSET呢?
《VBA代码解决方案》终于可以和大家见面了,是我将一些非常实用的VBA内容结集成册,PDF文件,可以从中直接查找到你想要解决问题的思路和方法,可以复制文中的VBA代码直接使用。有需要的朋友微信联络我NZ9668。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)