Range对象

时间:2022-07-22
本文章向大家介绍Range对象,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1、Range对象是什么

在前面的每一讲我们都提到了Range对象,它到底是个什么东西?

我用自己的理解先来讲讲它:

因为我们主要是在说Excel的VBA,为什么要特指是Excel的VBA?

因为VBA这个语言其实在很多地方都有,Office每个套件应该都有,我还知道的是CAD也用这个语言。

我们所讲的Range对象是Excel特有的(虽然Word里也有个Range对象,但只是名字相同),它所代表的就是我们平时操作Excel表格里的最小单元——单元格。它之所以会存在于Excel的VBA里,就是因为我们用Excel VBA用到它的地方会很多很多,所以微软就帮我们做好这么一个对象,让我们能很方便的去使用它,而它具体底层是如何实现的,我们是不知道的。

如果你到微软官网查看的话:https://docs.microsoft.com/zh-cn/office/vba/api/overview/,左边列表里有个Excel-对象模型,这里就是所有的Excel VBA特有的一些对象,就是微软已经做好了让使用者直接使用的东西。

然后你可以看看Range对象,你会发现它有好多方法、属性,所以上一讲数组里我提到,直接操作Range对象就很慢的,主要是Range对象其实是一个比较复杂的东西,它包含了很多内容。

当然我们现在没有必要关注它那么多的方法、属性,很多其实我们都很少使用的,最常用的我认为有这么几个:

Activate  激活单元格,相当于你用鼠标点击选中
Value     这个前面多次用过,单元格里保存的内容
Offset    偏移,这个方法是很好用的
          相当于军训站队的时候,教官说第5排第6个差不多的意思
          Range对象使用这个方法就可以偏移到其他的Range
Resize    改变单元格的范围
Copy      复制
Paste     粘贴
Formula   公式

如果还想详细了解,除了可以去看官方文档外,还可以看对象浏览器

对象浏览器使用简单介绍:

在编辑器里按F2,出来1个新界面,在查找框里输入Range,但是这个并不能比较精准的定位到,你还得在下面一点类(在VBA里类就可以理解是对象)的框框里去找,它是按照字母排序了的。

在这里也可以看到对象的方法和属性。

基本上我们平时能怎么操作单元格,Range对象都会有对应的方法或属性。

一开始你可能完全不知道它能有什么,你可以把能想到的操作,通过初识VBA介绍的录制功能录制出来,去慢慢了解。

2、使用

使用过Excel的人都知道,如果你要在一个单元格写东西,你得选中单元格、再输入、回车,这才能完成一个单元格的赋值。

如果用VBA语句的话,就是:

Range("A1").Activate
Range("A1").Value = "123"

这个时候,你要这么去想了,你现在已经是会VBA代码的人了,你还需要像一般人那样去操作Excel?还需要像普通人拿过东西那样分三步:走过去、拿起来、走回来?

不需要啦,这时候的你已经有了魔法了,你要拿一个东西的时候,你直接弄个魔法,叫它跑过来就行了,你现在只要一步了,直接操作Range对象就行啦,激活这种操作在VBA里一般都不需要用,你只要能精准找到对象就可以。

Range("A1").Value = "123"

举再多的例子也不如自己动手去试试来的好,所以这东西还是得自己多去使用,才会真正的自己去理解。

3、小结

简单介绍Range对象,是Excel VBA里操作最多、最基本的对象。