● 本技巧目的:掌握單元格的各種引用方法。 ● Excel 就是由基本元素 -- 單元格構(gòu)成的,它就像我們身體的細(xì)胞一樣,可是非常重要的,千萬不能小看它的作用。不論是學(xué)習(xí) vba 還是 操作 Excel 本身, 最先接觸到的就是單元格,只有熟練的掌握了,才能進(jìn)行后續(xù)的操作。 ★★★注意:下面所有的標(biāo)點(diǎn)符號(hào)全部使用半角,或者說英文標(biāo)點(diǎn)。代碼中不區(qū)分大小寫。 ● 1.Range 屬性 單個(gè)單元格的表示方法: 表示方法:Sheet1.Range("A1") 注釋: 1)工作表 Sheet1 的單元格:A1, 書寫格式:Sheet1.Range("英文字母+數(shù)字") 2)保持良好的習(xí)慣加上工作表名稱,對(duì)于后續(xù)跨工作表的操作會(huì)減少很多的問題。就像寄快遞時(shí)要把小區(qū)的每棟樓的編號(hào)寫上一樣,不會(huì)發(fā)生快遞寄到隔壁樓的問題喲。 單元格地址選中使用命令: .Select Sheet1.Range("A1").Select 多個(gè)單元格的表示方法: 連續(xù)單元格:A3 到 C6 單元格 表示方法:Sheet1.range("A3:C6") 注釋: 1)書寫方法:Sheet1. ("英文字母+數(shù)字 : 英文字母+數(shù)字") 2)首尾單元格之間用 : 連接 二組連續(xù)單元格,組合起來的方法: A3 到 C6 單元格 , E7 到 G11 單元格 表示方法: Sheet1.range("A3:C6, E7:G11") Sheet1.range("A3:C6,E7:G11").Select 注釋: 1)書寫方法:Sheet1. ("英文字母+數(shù)字 : 英文字母+數(shù)字, 英文字母+數(shù)字 : 英文字母+數(shù)字") 2)二組不連續(xù)的地址,中間用 ,分隔 3) 要點(diǎn):連續(xù)單元格:首尾之間用 : 來連接, 二段不連續(xù)的單元格組合用 ,分隔 ● 2. Cells 屬性 ★★★小技巧:安裝代碼助手后,alt+數(shù)字 0 :可以快速轉(zhuǎn)換 列號(hào) 為數(shù)字 或者 英文字母 單個(gè)單元格: 表示方法:sheet1.cells(1,1) 或者 sheet1.cells(1,"A") 注釋: 1)括號(hào)內(nèi) 前面代表:行 后面代表:列, 用 ,分隔 2)二種方法: ① 前后都使用數(shù)字 ② 前面使用數(shù)字,后面用英文字母代表列號(hào) ③ ★★★ 注意:英文字母要加雙引號(hào) 多個(gè)單元格的表示方法: 連續(xù)單元格:B2 到D7 單元格 表示方法:sheet1.Range(sheet1.cells(2,2),sheet1.cells(7,4)) 或者 sheet1.Range(sheet1.cells(2,"B"),sheet1.cells(7,"D")) 注釋: 書寫方法:sheet1.range(工作表名稱.左上方單元格,工作表名稱.右下方單元格) ● ★★★ Range 和 Cells 總結(jié): 1) Range 和 Cells 書寫方法不同: Range("A1") 和 Cells(1,1) 或者 Cells(1,"A") 所指的單元格是相同的 2) Range:寫好后, 后面加上 . 系統(tǒng)會(huì)出現(xiàn)提示, Cells 沒有 3) Range:可以表示連續(xù)的單元格 4) Cells: 更方便,直接寫行,列號(hào), 中間用英文逗號(hào)分隔,不需要使用字符串拼接。它是在循環(huán)中根據(jù)行列號(hào)訪問的主要手段 例如: Range("A" & rows.count) Cells(rows.count, "A") ● 3. 方括號(hào) [ ] ● Sheet1.Range("A1") 可以寫成 sheet1.[A1] ● Sheet1.range("A1:C1")可以寫成 sheet1.[A1:C1] ● ★★★ 注意:只能使用列號(hào)的英文字母或者行號(hào)數(shù)字,不能使用變量 ● 4.Offset 屬性 Offset 的使用方法: 以某單元格作為起點(diǎn),然后以他為起點(diǎn)向上下,左右偏移。 ● 1)需求:當(dāng)用戶選中單元格后 , 需要在選中的單元格左上單元格寫入數(shù)字 1, 且選中單元格是未知的。 2)有了Offset 屬性,只需要在 Selection 后輸入偏移的行列號(hào),就能實(shí)現(xiàn)輸入。 3)實(shí)現(xiàn)方法:Selection.offset(-1,-1)= 1 這樣書寫是不是很方便呢? 二種方法: 使用 offset, 假設(shè)以 B3 為起點(diǎn), 這個(gè)起點(diǎn)位置可以根據(jù)自己的要求來設(shè)定。 書寫方法:Sheet1.range("B3").offset(0,1) 注釋: 1)代表:B3 開始,不偏移行,向右偏移一列, 即 C3 單元格 2) offset 括號(hào)內(nèi) 前面數(shù)字代表行, 后面數(shù)字代表列 3)數(shù)字 0 代表:不偏移 4)數(shù)字 -1 代表:向上 或者 向左 偏移 例如1:Sheet1.range("B4").offset(-1,1) 即: B4 向上偏移一行,向右偏移一列, 即 C3 單元格 例如2:Sheet1.range("D5").offset(-2,-1) 即: D5 向上偏移二行,向左偏移一列, 即 C3 單元格 使用 range 或者 cells, 假設(shè)以 B3 為起點(diǎn),這個(gè)起點(diǎn)位置可以根據(jù)自己的要求來設(shè)定。 書寫方法:sheet1.range("B3").cells(1,2) 或者 sheet1.range("B3").range("B1") 注釋: 1)上面書寫方法代表:B3 開始,不偏移行,向右偏移一列, 即 C3 單元格 2)詳解: ① 不能 向上 或者 向左 偏移 ② 數(shù)字1 代表:本行,本列 ③ 數(shù)字2 代表:向下 1 行或者 向右 1 列 ④ 數(shù)字3 代表:向下 2 行或者 向右 2 列 ⑤ 后面以此類推,每增加 1,偏移 也 增加 1 ⑥ Range 中的英文字母可以當(dāng)作數(shù)字來看 即 B 代表數(shù)字 2, C 代表 數(shù)字3 ● 5.Resize 屬性 ● 要求:表示上圖的 B3:E10 單元格 同理:首先以某單元格作為起點(diǎn),然后以他為坐標(biāo)向上下,左右擴(kuò)展。這里是使用擴(kuò)展哦。 好處和前面說的 Offset 是一樣的:修改方便,另外即使是未知位置單元格也能擴(kuò)展。 書寫方法:Sheet1.Range("B3").Resize(8,4) 注釋: 1)上面書寫方法代表:B3 開始,(含本行本列)共擴(kuò)展 8行,4列, 即 B3:E10 單元格 2)詳解: ① 數(shù)字1 代表:本行,本列 ② 數(shù)字2 代表擴(kuò)展:向下 1 行 或者 向右 1 列 ③ 數(shù)字3 代表擴(kuò)展:向下 2 行 或者 向右 2 列 ④ 后面以此類推,每增加 1,擴(kuò)展 也 增加 1 offset,resize 組合聯(lián)合使用 這兩個(gè)屬性是可以組合使用的。這樣對(duì)于后期的改動(dòng)會(huì)更為方便快捷。 要求:表示 C3:E9 單元格 書寫方法:Sheet1.Range("A1").Offset(2,2).Resize(7,3) 注釋: 1) A1 單元格 偏移:向下 2行 向右 2列 再擴(kuò)展:向下 7行 向右 3列 2)偏移,擴(kuò)展可以前后隨意組合 ★★★ Offset、Range和 Resize 總結(jié): ● 6.Union 屬性 連接二個(gè)不連續(xù)的區(qū)域: B3:D8, G10:I15 書寫方法: Union(Sheet1.Range("B3:D8"),Sheet1.Range("G10:I15")) ● 7. Usedrange屬性 書寫方法: Sheet1.Usedrange 注釋: 1)確定Sheet1 的 已使用區(qū)域 2)該代碼所表示的地址為:A1:D7 書寫方法:Sheet1.Usedrange 注釋: 1)該代碼所表示的地址為:A1:G11 2)★★★ 注意:F10:G10 區(qū)域即使為空格, 表示的地址也會(huì)是 A1:G11 ● 8. CurrentRegion 屬性 書寫方法:Sheet1.Range("A1").CurrentRegion 注釋: 1)以 A1 為起點(diǎn)的連續(xù)區(qū)域 2)該代碼表示的地址為:A1:D7 書寫方法:Sheet1.Range("F10").CurrentRegion 注釋:該代碼表示的地址為:F10:G11 ● |
|