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