讀古今文學網 > 別怕,ExcelVBA其實很簡單 > 4.5 核心,至關重要的Range對像 >

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屬性將返回指定對像中的所有單元格: