位置:首頁 > 軟件操作教程 > 辦公軟件 > Excel > 問題詳情

VBA程序中引用Excel單元格區(qū)域

提問人:周麗平發(fā)布時(shí)間:2021-07-24

1、啟動(dòng)Excel并打開VBA編輯器,在工程資源管理器中創(chuàng)建一個(gè)模塊,在模塊的“代碼”窗口中輸入如下程序代碼:

Sub MultiSelection1()

Range("A1:F6 B2:D7").Select

End Sub

按F5鍵運(yùn)行該過程,則A1:F6單元格區(qū)域和B2:D7單元格區(qū)域的交叉區(qū)域被選擇,如圖1所示。

image.png

圖1 程序運(yùn)行結(jié)果

提示

在VBA中,A1樣式標(biāo)記使用Range屬性來返回單元格區(qū)域。Range屬性的格式如下所示:

Range(Cell1,Cell2)

其中,參數(shù)Cell1為必選參數(shù),其可以包括區(qū)域操作符(即冒號(hào))、相交區(qū)域操作符(空格)以及合并區(qū)域操作符(逗號(hào)),同時(shí)還可以使用已定義的單元格名稱。

2、在“代碼”窗口中輸入如下程序代碼:

Sub MultiSelection2()

Worksheets("Sheet1").[A1:F6 B2:D7].Select

End Sub

按F5鍵運(yùn)行該過程可獲得與步驟1相同的效果,工作表A1:F6單元格區(qū)域和B2:D7單元格區(qū)域的交叉區(qū)域被選擇,如圖2所示。

image.png

圖2 選擇交叉單元格區(qū)域

提示

在引用單元格時(shí),將A1引用樣式的單元格區(qū)域地址用方括號(hào)括起來作為Range屬性的引用方式,這樣就不需要再使用引號(hào)了,可以實(shí)現(xiàn)單元格地址的快捷輸入。

3、在“代碼”窗口中輸入如下程序代碼:

Sub CellsIndex()

With Range("A1:G10")

For n=1 To.Cells.Count

.Cells(n)=n

Next

End With

End Sub

按F5鍵運(yùn)行該過程,則在A1:G10單元格區(qū)域的單元格中將依次填入數(shù)字,如圖3所示。

image.png

圖3 單元格區(qū)域中填入數(shù)字

提示

在VBA中可以使用Cells屬性通過行列編號(hào)來引用單元格,其語法結(jié)構(gòu)如下:

Cells(RowIndex,ColumnIndex)

這里,兩個(gè)參數(shù)均為可選參數(shù),分別表示引用區(qū)域的行序號(hào)和列序號(hào),帶有參數(shù)的Cells屬性返回代表該單元格的Range對(duì)象。

4、在“代碼”窗口中輸入如下程序代碼:

Sub MultiSelection3()

Range("A1:F6 B2:D7")=1

Range("A1:F6 B2:D7").Offset(5,3).Select

End Sub

按F5鍵運(yùn)行該過程,則工作表A1:F6單元格區(qū)域和B2:D7單元格區(qū)域的交叉區(qū)域被填充數(shù)字1,該交叉區(qū)域向右偏移3個(gè)單元格、向下偏移5個(gè)單元格的單元格區(qū)域被選擇,如圖4所示。

image.png

圖4 使用Offset屬性選擇單元格區(qū)域

提示

Range對(duì)象的Offset屬性返回一個(gè)基于引用的Range對(duì)象且大小相同的單元格區(qū)域。Offset屬性的語法結(jié)構(gòu)如下所示:

Offset(RowOffset,ColumnOffset)

這里,RowOffset和ColumnOffset參數(shù)分別指定單元格區(qū)域偏移的行數(shù)和列數(shù),其中正值向下和向右移動(dòng),負(fù)值向上或向左移動(dòng)。

5、在“代碼”窗口中輸入如下程序代碼:

Sub MultiSelection4()

Range("A1:F6 B2:D7")=2

Range("A1:F6 B2:D7").Resize(5,5).Select

End Sub

按F5鍵運(yùn)行該過程,則工作表A1:F6單元格區(qū)域和B2:D7單元格區(qū)域的交叉區(qū)域被填充數(shù)字2,該交叉區(qū)域擴(kuò)充5行5列后的單元格區(qū)域被選擇,如圖5所示。

image.png

圖5 交叉區(qū)域擴(kuò)充5行5列后被選擇

提示

Range對(duì)象的Resize屬性可以調(diào)整指定單元格區(qū)域的大小并返回調(diào)整大小后的單元格區(qū)域。Resize屬性的語法結(jié)構(gòu)如下所示:

Resize(Rowsize,ColumnSize)

這里,RowSize參數(shù)和ColumnSize參數(shù)用于指定調(diào)整后的單元格區(qū)域的行數(shù)和列數(shù)。

6、在“代碼”窗口中輸入如下程序代碼:

Sub MultiSelection5()

Range("A1:F6 B2:D7")=3

Range("A1:F6 B2:D7").Columns(2).Select

End Sub

按F5鍵運(yùn)行該過程,則工作表A1:F6單元格區(qū)域和B2:D7單元格區(qū)域的交叉區(qū)域被填充數(shù)字3,該交叉區(qū)域的第2列被選擇,如圖6所示。

image.png

圖6 交叉區(qū)域第2列被選擇

提示

Range對(duì)象的Columns屬性可以返回Range對(duì)象,其代表指定單元格區(qū)域中的列。其語法結(jié)構(gòu)為:

Columns(CellsIndex)

這里,CellsIndex參數(shù)表示單元格區(qū)域的列號(hào)。同樣,Range對(duì)象的Rows屬性可以返回Range對(duì)象,其代表指定單元格區(qū)域中的行,其使用方法與Columns屬性相同。

繼續(xù)查找其他問題的答案?

回復(fù)(0)
返回頂部