資源描述:
《在vba代碼中引用excel工作表中單元格區(qū)域的方式小結(jié)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、在VBA代碼中引用Excel工作表中單元格區(qū)域的方式小結(jié)?問題一:在VBA代碼中,如何引用當(dāng)前工作表中的單個單元格(例如引用單元格C3)?回答:可以使用下面列舉的任一方式對當(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
2、("Range1")或[Range1](8)Cells(4,3).Offset(-1)(9)Range("A1").Range("C3")問題二:在VBA代碼中,我要引用當(dāng)前工作表中的B2:D6單元格區(qū)域,有哪些方式?回答:可以使用下面列舉的任一方式對當(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(Cells(2,2),Cells(6,4))(6)若將B2:D6區(qū)域命名為“MyRange”,則又可
3、以使用下面的語句引用該區(qū)域:①Range("MyRange")②[MyRange](7)Range("B2").Resize(5,3)(8)Range("A1:C5").Offset(1,1)(9)若單元格B2為當(dāng)前單元格,則可使用語句:Range(ActiveCell,ActiveCell.Offset(4,2))(10)若單元格D6為當(dāng)前單元格,則可使用語句:Range("B2",ActiveCell)問題三:在VBA代碼中,如何使用變量實現(xiàn)對當(dāng)前工作表中不確定單元格區(qū)域的引用?回答:有時,我們需要在代碼中依次獲取工作表中特定區(qū)域內(nèi)的單元格,這通常可以采取下面
4、的幾種方式:(1)Range(“A”&i)(2)Range(“A”&i&“:C”&i)(3)Cells(i,1)(4)Cells(i,j)其中,i、j為變量,在循環(huán)語句中指定i和j的范圍后,依次獲取相應(yīng)單元格。問題四:在VBA代碼中,如何擴(kuò)展引用當(dāng)前工作表中的單元格區(qū)域?回答:可以使用Resize屬性,例如:(1)ActiveCell.Resize(4,4),表示自當(dāng)前單元格開始創(chuàng)建一個4行4列的區(qū)域。(2)Range("B2").Resize(2,2),表示創(chuàng)建B2:C3單元格區(qū)域。(3)Range("B2").Resize(2),表示創(chuàng)建B2:B3單元格區(qū)域。
5、(4)Range("B2").Resize(,2),表示創(chuàng)建B2:C2單元格區(qū)域。如果是在一個單元格區(qū)域(如B3:E6),或一個命名區(qū)域中(如將單元格區(qū)域B3:E6命名為“MyRange”)使用Resize屬性,則只是相對于單元格區(qū)域左上角單元格擴(kuò)展區(qū)域,例如:代碼Range("C3:E6").Resize(,2),表示單元格區(qū)域C3:D6,并且擴(kuò)展的單元格區(qū)域可不在原單元格區(qū)域內(nèi)。因此,可以知道Resize屬性是相對于當(dāng)前活動單元格或某單元格區(qū)域中左上角單元格按指定的行數(shù)或列數(shù)擴(kuò)展單元格區(qū)域。問題五:在VBA代碼中,如何在當(dāng)前工作表中基于當(dāng)前單元格區(qū)域或指定單元
6、格區(qū)域處理其它單元格區(qū)域?回答:可以使用Offset屬性,例如:(1)Range("A1").Offset(2,2),表示單元格C3。(2)ActiveCell.Offset(,1),表示當(dāng)前單元格下一列的單元格。(3)ActiveCell.Offset(1),表示當(dāng)前單元格下一行的單元格。(4)Range("C3:D5").Offset(,1),表示單元格區(qū)域D3:E5,即將整個區(qū)域偏移一列。從上面的代碼示例可知,Offset屬性從所指定的單元格開始按指定的行數(shù)和列數(shù)偏移,從而到達(dá)目的單元格,但偏移的行數(shù)和列數(shù)不包括指定單元格本身。問題六:在VBA代碼中,如何在
7、當(dāng)前工作表中引用交叉區(qū)域?回答:可以使用Intersect方法,例如:Intersect(Range("C3:E6"),Range("D5:F8")),表示單元格區(qū)域D5:E6,即單元格區(qū)域C3:E6與D5:F8相重迭的區(qū)域。問題七:在VBA代碼中,如何在當(dāng)前工作表中引用多個區(qū)域?回答:(1)可以使用Union方法,例如:Union(Range("C3:D4"),Range("E5:F6")),表示單元格區(qū)域C3:D4和E5:F6所組成的區(qū)域。Union方法可以將多個非連續(xù)區(qū)域連接起來成為一個區(qū)域,從而可以實現(xiàn)對多個非連續(xù)區(qū)域一起進(jìn)行操作。(2)也可以使用下面的代
8、碼:Ran