資源描述:
《使用VBA代碼確定激活選擇單元格區(qū)域.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、單元格區(qū)域引用方式的小結(jié)單元格區(qū)域引用方式的小結(jié)EXCEL技巧2008-11-2912:10:20閱讀97評(píng)論0??字號(hào):大中小?訂閱在使用ExcelVBA進(jìn)行編程時(shí),我們通常需要頻繁地引用單元格區(qū)域,然后再使用相應(yīng)的屬性和方法對(duì)區(qū)域進(jìn)行操作。所謂單元格區(qū)域,指的是單個(gè)的單元格、或者是由多個(gè)單元格組成的區(qū)域、或者是整行、整列等。下面,我們?cè)O(shè)定一些情形,以問(wèn)答的形式對(duì)引用單元格區(qū)域的方式進(jìn)行歸納。----------------------------------------------------------------------------
2、----問(wèn)題一:在VBA代碼中,如何引用當(dāng)前工作表中的單個(gè)單元格(例如引用單元格C3)?回答:可以使用下面列舉的任一方式對(duì)當(dāng)前工作表中的單元格(C3)進(jìn)行引用。(1)Range("C3")(2)[C3](3)Cells(3,3)(4)Cells(3,"C")(5)Range("C4").Offset(-1)Range("D3").Offset(,-1)Range("A1").Offset(2,2)(6)若C3為當(dāng)前單元格,則可使用:ActiveCell(7)若將C3單元格命名為“Range1”,則可使用:Range("Range1")或[Ran
3、ge1](8)Cells(4,3).Offset(-1)--------------------------------------------------------------------------------問(wèn)題二:在VBA代碼中,我要引用當(dāng)前工作表中的B2:D6單元格區(qū)域,有哪些方式?回答:可以使用下面列舉的任一方式對(duì)當(dāng)前工作表中單元格區(qū)域B2:D6進(jìn)行引用。(1)Range(“B2:D6”)(2)Range("B2","D6")(3)[B2:D6](4)Range(Range("B2"),Range("D6"))(5)Range(C
4、ells(2,2),Cells(6,4))(6)若將B2:D6區(qū)域命名為“MyRange”,則又可以使用下面的語(yǔ)句引用該區(qū)域:①Range("MyRange")②[MyRange](7)Range("B2").Resize(5,3)(8)Range("A1:C5").Offset(1,1)(9)若單元格B2為當(dāng)前單元格,則可使用語(yǔ)句:Range(ActiveCell,ActiveCell.Offset(4,2))(10)若單元格D6為當(dāng)前單元格,則可使用語(yǔ)句:Range("B2",ActiveCell)---------------------
5、-----------------------------------------------------------問(wèn)題三:在VBA代碼中,如何使用變量實(shí)現(xiàn)對(duì)當(dāng)前工作表中不確定單元格區(qū)域的引用?回答:有時(shí),我們需要在代碼中依次獲取工作表中特定區(qū)域內(nèi)的單元格,這通??梢圆扇∠旅娴膸追N方式:(1)Range(“A”&i)(2)Range(“A”&i&“:C”&i)(3)Cells(i,1)(4)Cells(i,j)其中,i、j為變量,在循環(huán)語(yǔ)句中指定i和j的范圍后,依次獲取相應(yīng)單元格。-------------------------------
6、-------------------------------------------------問(wèn)題四:在VBA代碼中,如何擴(kuò)展引用當(dāng)前工作表中的單元格區(qū)域?回答:可以使用Resize屬性,例如:(1)ActiveCell.Resize(4,4),表示自當(dāng)前單元格開(kāi)始創(chuàng)建一個(gè)4行4列的區(qū)域。(2)Range("B2").Resize(2,2),表示創(chuàng)建B2:C3單元格區(qū)域。(3)Range("B2").Resize(2),表示創(chuàng)建B2:B3單元格區(qū)域。(4)Range("B2").Resize(,2),表示創(chuàng)建B2:C2單元格區(qū)域。如果是在一
7、個(gè)單元格區(qū)域(如B3:E6),或一個(gè)命名區(qū)域中(如將單元格區(qū)域B3:E6命名為“MyRange”)使用Resize屬性,則只是相對(duì)于單元格區(qū)域左上角單元格擴(kuò)展區(qū)域,例如:代碼Range("C3:E6").Resize(,2),表示單元格區(qū)域C3:D6,并且擴(kuò)展的單元格區(qū)域可不在原單元格區(qū)域內(nèi)。因此,可以知道Resize屬性是相對(duì)于當(dāng)前活動(dòng)單元格或某單元格區(qū)域中左上角單元格按指定的行數(shù)或列數(shù)擴(kuò)展單元格區(qū)域。-----------------------------------------------------------------------
8、---------問(wèn)題五:在VBA代碼中,如何在當(dāng)前工作表中基于當(dāng)前單元格區(qū)域或指定單元格區(qū)域處理其它單元格區(qū)域?回答:可以使用Offset屬性,例如