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

VBA程序中引用Excel單元格區(qū)域的幾個實例

提問人:周麗平發(fā)布時間:2021-08-26

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

Sub MultiSelection1()

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

End Sub

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

image.png

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

提示

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

Range(Cell1,Cell2)

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

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

Sub MultiSelection2()

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

End Sub

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

image.png

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

提示

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

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

Sub CellsIndex()

With Range("A1:G10")

For n=1 To.Cells.Count

.Cells(n)=n

Next

End With

End Sub

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

image.png

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

提示

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

Cells(RowIndex,ColumnIndex)

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

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

Sub MultiSelection3()

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

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

End Sub

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

image.png

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

提示

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

Offset(RowOffset,ColumnOffset)

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

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

Sub MultiSelection4()

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

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

End Sub

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

image.png

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

提示

Range對象的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鍵運行該過程,則工作表A1:F6單元格區(qū)域和B2:D7單元格區(qū)域的交叉區(qū)域被填充數(shù)字3,該交叉區(qū)域的第2列被選擇,如圖6所示。

image.png

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

提示

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

Columns(CellsIndex)

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

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

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