Range单元格对象引用

2019-10-13 16:17:54 浏览数 (1)

大家好,前面介绍了对象模型、对象属性和对象方法的基础知识,后续会介绍各种常用对象,以及他们的常用属性和方法。

单元格range对象是vba编程中最常用的对象之一,本节首先介绍下单元格range对象的引用方式,常用属性和方法后续会介绍。


在前面的学习过程中,已经接触过range单元格对象引用的常用方式,下面进行汇总扩展下。

首先举例复习下前面的对象引用的知识:要求sheet2工作表的A1到A5的单元格的值均为1,代码如下:

通过代码给A1:A5单元格赋值,这里value是默认属性,可以直接省略。

为了后面演示方便,先介绍range对象一个简单的select方法,等同于鼠标的选中操作,比如上面的示例,代码换成Worksheets("sheet2").Range("a1:a5").select

可以看到执行代码后,A1:A5单元格区域就被选中,就像用鼠标拖动选择,比较简单,下面就借助select方法来演示。

一、range属性方式

range属性会返回一个range单元格对象,代表一个单元格或单元格区域,有下面几种表示方式。

1、range("A1") 代表A1单元格

2、range("A1:A5") 代表A1到A5的单元格区域

3、range("A1:A5,C3:C4,A3:C3") 代表引用多个不连续的单元格区域,用英文逗号间隔,在同一个双引号之内。如下图所示

4、range("A1:A5","C3:C4") 与上一个表达的意思不同,两个单元格区域都有双引号,再用英文逗号间隔,是表示两个单元格最外边界围成的矩形,实际就是A1:C5。注意是两个单元格区域。效果如下图所示:

5、range("A1:A5 A2:C2")代表两个单元格区域的交叉部分,中间为一个空格间隔,只有一个双引号下。这里A1:A5与A2:C2交叉的部分就是A2单元格,其效果如下图所示:

6、range("单元格自定义名称") 比如将A1:B4单元格定义为区域,区域单元格的值全部为5,,range(“数值”).value=5

二、cells属性方式

前面range属性使用的坐标,与excel中的行号和列号是一致的,行号为数字,列号为字母。而cells属性使用的列号可以为数字,cells(行号,列号)。行列书写顺序与range属性的相反。

比如要求sheet2工作表的C4单元格的值为10,可以用编写代码为Worksheets("sheet2").Cells(4, 3).Value = 10。单元格C4的行号为4,列号C对应的数字为3,所以表示为cells(4,3)如下图:

1、cells(4,2) 表示4B单元格,两个参数之间用英文逗号间隔。

2、worksheets("sheet2").cells表示工作表sheet2的所有单元格。(cells是单元格的集合)

3、range(cells(1,1),cells(5,3))。等同于前面的range("A1:C5")的单元格区域。

4、cells(2)。单个参数代表时索引号,cells(2)表示B1单元格。在工作表中,单元格按先从左向右再从上向下的顺序编号,即A1为第一个单元格,B1为第二个单元格,C1为第三个单元格.....第二行的A2为第257个单元格,B2为第258个单元格,以此类推。

range属性和cells属性差别在于,1,cells属性的行列号均为数字表示,range属性行号数字列号为字母。这点在使用变量替换数字时意义很大,根据需要进行选择。2、range属性可以引用多个单元格,cells属性本身只能引用一个单元格,要引用单元格区域需要搭配range使用。3、cells是单元格集合,可以表示工作表中所有单元格。

对于cells参数使用变量的例子。可以回顾一下之前九九乘法表的代码,如果有问题可以回顾数据控制结构举例的章节。

三、快捷方式

如果引用某个单元格或单元格区域,也可以直接使用单元格地址(A1样式),写在中括号[ ]中即可。如果单元格和单元格区域被定义了名称,可以直接在中括号中使用名称。

1、[A1] 表示A1单元格

2、[A1:C5] 表示A1:C5的单元格区域

3、[A1:A5,C2:C3,D4:D6]表示三个单元格区域合并后的区域

4、[A1:A6 A5:D5] 表示两个单元格的合并区域

5、[单元格区域自定义名称] 如上面range("数值”)同样的用法。[数值]表示即可,如下图所示:

用[ ]表示方法实则是application对象的evaluate方法的简写形式,这种写法简洁,但缺点就是无法使用变量。适合固定引用某个单元格或单元格区域。


本节就介绍到这里主要介绍单元格对象的三种表示方式,分别是range、cells属性和快捷方式来表示单元格。主要明确前两个用法和区别,第三种作为补充。祝大家学习快乐。


0 人点赞