VBA程序中引用Excel單元格區(qū)域的方法有哪些
使用VBA編寫Excel應(yīng)用程序離不開對單元格區(qū)域的引用,單元格區(qū)域包括單個單元格、由多個單元格組成的區(qū)域以及整行和整列等。以下是學(xué)習(xí)啦小編為您帶來的關(guān)于VBA程序中引用Excel單元格區(qū)域,希望對您有所幫助。
VBA程序中引用Excel單元格區(qū)域
1、啟動Excel并打開VBA編輯器,在工程資源管理器中創(chuàng)建一個模塊,在模塊的“代碼”窗口中輸入如下程序代碼:
Sub MultiSelection1()
Range("A1:F6 B2:D7").Select
End Sub
按F5鍵運行該過程,則A1:F6單元格區(qū)域和B2:D7單元格區(qū)域的交叉區(qū)域被選擇,如圖1所示。
圖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所示。
圖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所示。
圖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所示。
圖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ū)域擴充5行5列后的單元格區(qū)域被選擇,如圖5所示。
圖5 交叉區(qū)域擴充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所示。
圖6 交叉區(qū)域第2列被選擇
提示
Range對象的Columns屬性可以返回Range對象,其代表指定單元格區(qū)域中的列。其語法結(jié)構(gòu)為:
Columns(CellsIndex)
這里,CellsIndex參數(shù)表示單元格區(qū)域的列號。同樣,Range對象的Rows屬性可以返回Range對象,其代表指定單元格區(qū)域中的行,其使用方法與Columns屬性相同。
猜你喜歡: