首页 » 别怕,ExcelVBA其实很简单 » 别怕,ExcelVBA其实很简单全文在线阅读

《别怕,ExcelVBA其实很简单》4.5 核心,至关重要的Range对象

关灯直达底部

Range对象代表工作表中的单元格或单元格区域,包含在Worksheet对象中。

4.5.1 多种方法引用Range对象

操作单元格,需要先引用单元格。

信封上的收信地址,告诉邮递员应该把信投到哪家邮箱。只有写清楚地址,信才不会寄错。

引用单元格,就像写在信封上的地址,如果要把某商品的销售数量50保存到活动工作簿中Sheet1工作表的A1单元格中,代码为:

这里的Range(“A1”)就是引用A1单元格的一种形式。在VBA里,引用单元格有多种方法。

Worksheet(或Range)对象的Range属性

如果单元格已经被定义为名称,参数还可以是表示名称名的字符串或字符串变量,如图4-28所示。

图4-28 定义的名称

如果要引用多个不连续的区域,可以在各区域间添加逗号,如图4-29所示。

图4-29 引用多个不连续区域

如果想引用相交区域(公共区域),可以在多个区域间添加空格,如图4-30所示。

图4-30 引用相交区域

还可以使用两个参数来引用两个区域围成的矩形区域,如图4-31所示。

图4-31 使用两个参数引用单元格

Worksheet(或Range)对象的Cells属性

这是引用Range对象的另一种形式,返回指定工作表或单元格区域中指定行与列相交的单元格。

如果引用的是Range对象的Cells属性,将返回指定单元格区域中指定行与列相交的单元格,如图4-32所示。

图4-32 引用Range对象的Cells属性

Cells属性还可以用作Range属性的参数:

Cells可以只使用一个参数:

如果引用的是Worksheet对象的Cells属性,在Excel 2003中索引号的值为1到16777216(65536行×256列)。

单元格按从左往右,从上到下的顺序编号,即A1为第1个单元格,B1为第2个单元格,C1为第3个单元格……A2为第257个单元格……如图4-33所示。

图4-33 工作表中单元格的索引号

如果引用的是Range对象的Cells属性,索引号的范围为1到这个单元格区域包含的单元格的个数。

但索引号可以大于单元格区域里的单元格个数,如果索引号大于单元格个数,系统会自动将单元格区域在行方向上进行扩展(列数不变),然后再引用,如图4-34所示。

图4-34 当索引号大于单元格个数时

如果不使用任何参数,Cells属性将返回指定对象中的所有单元格: