![Excel VBA單元格區(qū)域引用方式的小結(jié)_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/28/22f5c4c4-b136-496e-9ff4-e42284dfbf51/22f5c4c4-b136-496e-9ff4-e42284dfbf511.gif)
![Excel VBA單元格區(qū)域引用方式的小結(jié)_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/28/22f5c4c4-b136-496e-9ff4-e42284dfbf51/22f5c4c4-b136-496e-9ff4-e42284dfbf512.gif)
![Excel VBA單元格區(qū)域引用方式的小結(jié)_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/28/22f5c4c4-b136-496e-9ff4-e42284dfbf51/22f5c4c4-b136-496e-9ff4-e42284dfbf513.gif)
![Excel VBA單元格區(qū)域引用方式的小結(jié)_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/28/22f5c4c4-b136-496e-9ff4-e42284dfbf51/22f5c4c4-b136-496e-9ff4-e42284dfbf514.gif)
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單元格區(qū)域引用方式的小結(jié) 在使用ExcelVBA進(jìn)行編程時(shí),我們通常需要頻繁地引用單元格區(qū)域,然后再使用相應(yīng)的屬性和方法對(duì)區(qū)域進(jìn)行操作。所謂單元格區(qū)域,指的是單個(gè)的單元格、或者是由多個(gè)單元格組成的區(qū)域、或者是整行、整列等。下面,我們?cè)O(shè)定一些情形,以問(wèn)答的形式對(duì)引用單元格區(qū)域的方式進(jìn)行歸納。 問(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
2、("C4".Offset(-1 Range("D3".Offset(, -1 Range("A1".Offset(2, 2 (6 若C3為當(dāng)前單元格,則可使用:ActiveCell (7 若將C3單元格命名為“Range1”,則可使用:Range("Range1"或Range1 (8 Cells(4, 3.Offset(-1 (9 Range("A1".Range("C3" 問(wèn)題二:在VBA代碼中,我要引用當(dāng)前工作表中的B2:D6單元格區(qū)域,有哪些方式? 回答:可以使用下面列
3、舉的任一方式對(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(Cells(2, 2, Cells(6, 4 (6 若將B2:D6區(qū)域命名為“MyRange”,則又可以使用下面的語(yǔ)句引用該區(qū)域: Range("MyRange" MyRange (7 Range("B2".Resize(5, 3 (8 Range
4、("A1:C5".Offset(1, 1 (9 若單元格B2為當(dāng)前單元格,則可使用語(yǔ)句:Range(ActiveCell, ActiveCell.Offset(4, 2 (10 若單元格D6為當(dāng)前單元格,則可使用語(yǔ)句:Range("B2", ActiveCell 問(wèn)題三:在VBA代碼中,如何使用變量實(shí)現(xiàn)對(duì)當(dāng)前工作表中不確定單元格區(qū)域的引用? 回答:有時(shí),我們需要在代碼中依次獲取工作表中特定區(qū)域內(nèi)的單元格,這通常可以采取下面的幾種方式: (1 Range(“A” & i (2 Range(“A” & i & “:C” & i
5、 (3 Cells(i,1 (4 Cells(i,j 其中,i、j為變量,在循環(huán)語(yǔ)句中指定i和j的范圍后,依次獲取相應(yīng)單元格。 問(wèn)題四:在VBA代碼中,如何擴(kuò)展引用當(dāng)前工作表中的單元格區(qū)域? 回答:可以使用Resize屬性,例如: (1 ActiveCell.Resize(4, 4,表示自當(dāng)前單元格開始創(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
6、,表示創(chuàng)建B2:C2單元格區(qū)域。 如果是在一個(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ū)域。 問(wèn)題五:在VBA代碼中,如何在當(dāng)前工作表中基于當(dāng)前單元格區(qū)域或指定單元格區(qū)域處理其它單元格區(qū)域? 回答:可以使用Offset屬
7、性,例如: (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,即將整個(gè)區(qū)域偏移一列。 從上面的代碼示例可知,Offset屬性從所指定的單元格開始按指定的行數(shù)和列數(shù)偏移,從而到達(dá)目的單元格,但偏移的行數(shù)和列數(shù)不包括指定單元格本身。 問(wèn)題六:在VBA代碼中,如何在當(dāng)前工作表中引用交叉區(qū)域? 回答:可以
8、使用Intersect方法,例如: Intersect(Range("C3:E6", Range("D5:F8",表示單元格區(qū)域D5:E6,即單元格區(qū)域C3:E6與D5:F8相重迭的區(qū)域。 問(wèn)題七:在VBA代碼中,如何在當(dāng)前工作表中引用多個(gè)區(qū)域? 回答: (1 可以使用Union方法,例如: Union(Range("C3:D4", Range("E5:F6",表示單元格區(qū)域C3:D4和E5:F6所組成的區(qū)域。 Union方法可以將多個(gè)非連續(xù)區(qū)域連接起來(lái)成為一個(gè)區(qū)域,從而可以實(shí)現(xiàn)對(duì)多個(gè)非連續(xù)區(qū)域一起進(jìn)行操作。 (2
9、 也可以使用下面的代碼: Range("C3:D4, E5:F6"或C3:D4, E5:F6 注意:Range("C3:D4", "F5:G6",表示單元格區(qū)域C3:G6,即將兩個(gè)區(qū)域以第一個(gè)區(qū)域左上角單元格為起點(diǎn),以第二個(gè)區(qū)域右下角單元格為終點(diǎn)連接成一個(gè)新區(qū)域。 同時(shí),在引用區(qū)域后使用Rows屬性和Columns屬性時(shí),注意下面代碼的區(qū)別: Range("C3:D4", "F8:G10".Rows.Count,返回的值為8; Range("C3:D4,F8:G10".Row
10、s.Count,返回的值為2,即只計(jì)算第一個(gè)單元格區(qū)域。 問(wèn)題八:在VBA代碼中,如何引用當(dāng)前工作表中活動(dòng)單元格或指定單元格所在的區(qū)域(當(dāng)前區(qū)域? 回答:可以使用CurrentRegion屬性,例如: (1 ActiveCell.CurrentRegion,表示活動(dòng)單元格所在的當(dāng)前區(qū)域。 (2 Range("D5".CurrentRegion,表示單元格D5所在的當(dāng)前區(qū)域。 當(dāng)前區(qū)域是指周圍由空行或空列所圍成的區(qū)域。該屬性的詳細(xì)使用參見(jiàn)CurrentRegion屬性示例一文。 問(wèn)題九:在VBA代碼中,如何引用當(dāng)前工作表中已使用的區(qū)域? 回答:可以使用UsedRange屬性,
11、例如: (1 Activesheet.UsedRange,表示當(dāng)前工作表中已使用的區(qū)域。 (2 Worksheets("sheet1".UsedRange,表示工作表sheet1中已使用的區(qū)域。 與CurrentRegion屬性不同的是,該屬性代表工作表中已使用的單元格區(qū)域,包括顯示為空行,但已進(jìn)行過(guò)格式的單元格區(qū)域。該屬性的詳細(xì)使用參見(jiàn)解析UsedRange屬性一文。 問(wèn)題十:如何在單元 格區(qū)域內(nèi)指定特定的單元格? 回答:可以使用Item屬性,例如: (1 Range("A1:B10".Item(5,3指定單元格C5,這個(gè)單元格處于以區(qū)域中左上角單元格
12、A1(即區(qū)域中第1行第1列的單元格為起點(diǎn)的第5行第3列。因?yàn)镮tem屬性為默認(rèn)屬性,因此也可以簡(jiǎn)寫為:Range("A1:B10"(5,3。 如果將A1:B10區(qū)域命名為”MyRange”,那么Range("MyRange"(5,3也指定單元格C5。 (2 Range("A1:B10"(12,13指定單元格M12,即用這種方式引用單元格,該單元格不必一定要包含在區(qū)域內(nèi)。 同時(shí),也不需要索引數(shù)值是正值,例如: Range("D4:F6"(0,0代表單元格C3; Range("D4:F6"(-1,-
13、2代表單元格A2。 而Range("D4:F6"(1,1代表單元格D4。 (3 也可以在單元格區(qū)域中循環(huán),例如: Range("D4:F6"(2,2(3,4代表單元格H7,即該單元格位于作為左上角單元格E5的第3行第4列(因?yàn)镋5是開始于區(qū)域中左上角單元格D4起的第2行第2列。 (4 也能使用一個(gè)單個(gè)的索引數(shù)值進(jìn)行引用。計(jì)數(shù)方式為從左向右,即在區(qū)域中的第一行開始從左向右計(jì)數(shù),第一行結(jié)束后,然后從第二行開始從左到右接著計(jì)數(shù),依次類推。(注:從區(qū)域中第一行第一個(gè)單元格開始計(jì)數(shù),當(dāng)?shù)谝恍薪Y(jié)束時(shí),轉(zhuǎn)入第二行最左邊的單元格,這樣按一行一行從左向右依次計(jì)數(shù)。以單元格
14、區(qū)域中第1個(gè)單元格開始,按上述規(guī)則依次為第2個(gè)單元格、第3個(gè)單元格.等等,例如: Range("A1:B2"(1 代表單元格A1; Range("A1:B2"(2 代表單元格B1; Range("A1:B2"(3 代表單元格A2; Range("A1:B2"(4 代表單元格B2。 這種方法可在工作表中連續(xù)向下引用單元格(即不一定是在單元格區(qū)域內(nèi),但在遵循相同的規(guī)律,例如: Range("A1:B2"(5代表單元格A3; Range("A1:B2"(14代表單元格B7,等等。
15、也可以使用單個(gè)的負(fù)數(shù)索引值。 這種使用單個(gè)索引值的方法對(duì)遍歷列是有用的,例如,Range("D4"(1代表單元格D4,Range("D4"(2代表單元格D5,Range ("D4"(11代表單元格D14,等等。 同理,稍作調(diào)整后也可遍歷行,例如: Range("D4".Columns(2代表單元格E4,Range("D4".Columns(5指定單元格H4,等等。 (5當(dāng)與對(duì)象變量配合使用時(shí),Item屬性能提供簡(jiǎn)潔并有效的代碼,例如: Set rng = Worksheets(1.a1 定義了對(duì)象變量后,像單元格方法一樣,Item屬性允許使用兩個(gè)索引數(shù)值引用工作表中的任一單元格,例如,rng(3,4指定單元格D3。(By Chip Pearson 問(wèn)題十一:在VBA
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 購(gòu)買外匯申請(qǐng)書
- 電商企業(yè)如何提升物流服務(wù)質(zhì)量
- 換駕照申請(qǐng)書
- 入團(tuán)申請(qǐng)書一千字以上
- 2024-2025學(xué)年高中歷史第七單元蘇聯(lián)的社會(huì)主義建設(shè)單元整合教學(xué)案新人教版必修2
- 2024-2025學(xué)年高中物理課時(shí)分層作業(yè)15牛頓第二定律含解析新人教版必修1
- 轉(zhuǎn)正申請(qǐng)書800字
- 2025年度體育場(chǎng)館廣告位租賃合同
- 2025年度水利工程監(jiān)理合同終止協(xié)議范本
- 電子商務(wù)平臺(tái)下的智能物流程管理分析
- (正式版)JBT 14932-2024 機(jī)械式停車設(shè)備 停放客車通-用技術(shù)規(guī)范
- (正式版)JBT 14682-2024 多關(guān)節(jié)機(jī)器人用伺服電動(dòng)機(jī)技術(shù)規(guī)范
- 2024年職業(yè)衛(wèi)生技術(shù)人員評(píng)價(jià)方向考試題庫(kù)附答案
- 紅樓夢(mèng)詩(shī)詞全集
- 像科學(xué)家一樣思考-怎么做-怎么教-
- 苯胺合成靛紅工藝
- 三年級(jí)上冊(cè)數(shù)學(xué)脫式計(jì)算大全600題及答案
- 2024年度農(nóng)村電子商務(wù)ppt演示課件
- 計(jì)算機(jī)控制系統(tǒng) 課件 第10章 網(wǎng)絡(luò)化控制系統(tǒng)的分析與設(shè)計(jì)
- 高原反應(yīng)的癥狀和處理方法
- 南京大學(xué)儀器分析習(xí)題集
評(píng)論
0/150
提交評(píng)論