excelvba基礎(chǔ)知識(shí)總結(jié) Excel VBA如何存放代碼?
Excel VBA如何存放代碼?親,是這樣的。2003版的確可以保存帶VBA代碼的文件,不用更改擴(kuò)展名。但是,您也一定發(fā)現(xiàn),當(dāng)你要運(yùn)行宏時(shí),必須在安全性設(shè)置里啟用宏,比較麻煩。2007版以上進(jìn)行了改進(jìn)
Excel VBA如何存放代碼?
親,是這樣的。2003版的確可以保存帶VBA代碼的文件,不用更改擴(kuò)展名。但是,您也一定發(fā)現(xiàn),當(dāng)你要運(yùn)行宏時(shí),必須在安全性設(shè)置里啟用宏,比較麻煩。
2007版以上進(jìn)行了改進(jìn),可以直接把帶VBA代碼的文件另存為xlsm。這樣,打開(kāi)這個(gè)文件,可以直接運(yùn)行宏。
excel vba目錄結(jié)構(gòu)?
1、打開(kāi)事先準(zhǔn)備好的Excel文件2、工具欄/開(kāi)發(fā)工具/Visual Basic,打開(kāi)Microsoft Visual Basic,也可使用快捷鍵Alt F11,3、然后,選擇VBAProject/Microsoft Excel 對(duì)象/sheet1(sheet1),在右邊窗口輸入以下程序:Sub 根據(jù)工作表創(chuàng)建目錄()Dim i As Integer, Biao As Worksheeti 2For Each Biao In WorksheetsCells(i, A) i 1Next BiaoEnd Sub程序已經(jīng)編制完成!
4、最后,工具欄/開(kāi)發(fā)工具/宏(快捷鍵Alt F8),查看宏,選擇已編制好的宏“根據(jù)工作表創(chuàng)建目錄”,執(zhí)行,就會(huì)根據(jù)工作表創(chuàng)建對(duì)應(yīng)目錄。
也可直接在Microsoft Visual Basic中執(zhí)行,工具欄/運(yùn)行/運(yùn)行子過(guò)程/用戶(hù)窗體,或者直接點(diǎn)擊菜單欄中類(lèi)似于三角形的按鍵。
Excel VBA選取單元格有哪些方法和技巧?
VBA選取單元格的8種方法
本技巧目的: 掌握單元格的各種引用方法
Excel 就是由基本元素 -- 單元格構(gòu)成的,它就像我們身體的細(xì)胞一樣,可是非常重要的,千萬(wàn)不能小看它的作用。不論是學(xué)習(xí) vba 還是 操作 Excel 本身, 最先接觸到的就是單元格,只有熟練的掌握了,才能進(jìn)行后續(xù)的操作。 注意:下面所有的標(biāo)點(diǎn)符號(hào)全部使用半角,或者說(shuō)英文標(biāo)點(diǎn)。 代碼中不區(qū)分大小寫(xiě)。使用代碼助手可以實(shí)現(xiàn)代碼的快速輸入。代碼助手下載地址 Range 屬性
單個(gè)單元格的表示方法:
表示方法:Sheet1.Range(A1)
注釋?zhuān)?) 工作表 Sheet1 的單元格: A1, 書(shū)寫(xiě)格式:Sheet1.Range(英文字母 數(shù)字)2) 保持良好的習(xí)慣加上工作表名稱(chēng),對(duì)于后續(xù)跨工作表的操作會(huì)減少很多的問(wèn)題。就像寄快遞時(shí)要把小區(qū)的每棟樓的編號(hào)寫(xiě)上一樣,不會(huì)發(fā)生快遞寄到隔壁樓的問(wèn)題喲。單元格地址選中使用命令: .SelectSheet1.Range(A1).Select多個(gè)單元格的表示方法:
連續(xù)單元格: A3 到 C6 單元格表示方法: Sheet1.range(A3:C6)注釋?zhuān)?) 書(shū)寫(xiě)方法: Sheet1. (英文字母 數(shù)字 : 英文字母 數(shù)字)2) 首尾單元格之間用 : 連接二組連續(xù)單元格,組合起來(lái)的方法:A3 到 C6 單元格 , E7 到 G11 單元格表示方法: Sheet1.range(A3:C6, E7:G11)Sheet1.range(A3:C6, E7:G11).Select注釋?zhuān)?) 書(shū)寫(xiě)方法: Sheet1. (英文字母 數(shù)字 : 英文字母 數(shù)字, 英文字母 數(shù)字 : 英文字母 數(shù)字)2) 二組不連續(xù)的地址,中間用 ,分隔3) 要點(diǎn): 連續(xù)單元格: 首尾之間用 : 來(lái)連接, 二段不連續(xù)的單元格組合用 ,分隔2. Cells 屬性
小技巧: 安裝代碼助手后,alt 數(shù)字 0 : 可以快速轉(zhuǎn)換 列號(hào) 為數(shù)字 或者 英文字母單個(gè)單元格:
表示方法:sheet1.cells(1,1) 或者 sheet1.cells(1,A)注釋?zhuān)?)括號(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))注釋?zhuān)簳?shū)寫(xiě)方法: sheet1.range(工作表名稱(chēng).左上方單元格,工作表名稱(chēng).右下方單元格) Range 和 Cells 總結(jié):
1) Range 和 Cells 書(shū)寫(xiě)方法不同: Range(A1) 和 Cells(1,1) 或者 Cells(1,A) 所指的單元格是相同的2) Range: 寫(xiě)好后, 后面加上 . 系統(tǒng)會(huì)出現(xiàn)提示, Cells 沒(méi)有3) Range: 可以表示連續(xù)的單元格4) Cells: 更方便,直接寫(xiě)行,列號(hào), 中間用英文逗號(hào)分隔,不需要使用字符串拼接。它是在循環(huán)中根據(jù)行列號(hào)訪(fǎng)問(wèn)的主要手段例如: Range(A amp ) Cells(, A)3. 方括號(hào) [ ]
Sheet1.Range(A1) 可以寫(xiě)成 sheet1.[A1]Sheet1.range(A1:C1) 可以寫(xiě)成 sheet1.[A1:C1] 注意: 只能使用列號(hào)的英文字母或者行號(hào)數(shù)字,不能使用變量4. Offset 屬性
Offset 的使用方法:以某單元格作為起點(diǎn),然后以他為起點(diǎn)向上下,左右偏移。
1)需求:當(dāng)用戶(hù)選中單元格后 , 需要在選中的單元格左上單元格寫(xiě)入數(shù)字 1,且選中單元格是未知的。2)有了Offset 屬性,只需要在 Selection 后輸入偏移的行列號(hào),就能實(shí)現(xiàn)輸入。3)實(shí)現(xiàn)方法:(-1,-1) 1 這樣書(shū)寫(xiě)是不是很方便呢?二種方法:使用 offset, 假設(shè)以 B3 為起點(diǎn), 這個(gè)起點(diǎn)位置可以根據(jù)自己的要求來(lái)設(shè)定。書(shū)寫(xiě)方法:Sheet1.range(B3).offset(0,1)注釋?zhuān)?) 代表: B3 開(kāi)始,不偏移行,向右偏移一列, 即 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ù)自己的要求來(lái)設(shè)定。書(shū)寫(xiě)方法:sheet1.range(B3).cells(1,2) 或者 sheet1.range(B3).range(B1)注釋?zhuān)?) 上面書(shū)寫(xiě)方法代表:B3 開(kāi)始,不偏移行,向右偏移一列, 即 C3 單元格2) 詳解:① 不能 向上 或者 向左 偏移 ② 數(shù)字 1 代表: 本行,本列③ 數(shù)字 2 代表: 向下 1 行 或者 向右 1 列 ④ 數(shù)字 3 代表: 向下 2 行 或者 向右 2 列⑤ 后面以此類(lèi)推,每增加 1,偏移 也 增加 1 ⑥ Range 中的英文字母可以當(dāng)作數(shù)字來(lái)看 即 B 代表 數(shù)字 2, C 代表 數(shù)字 35. Resize 屬性
要求:表示上圖的 B3:E10 單元格同理:首先以某單元格作為起點(diǎn),然后以他為坐標(biāo)向上下,左右擴(kuò)展。這里是使用擴(kuò)展哦。好處和前面說(shuō)的 Offset 是一樣的:修改方便,另外即使是未知位置單元格也能擴(kuò)展。書(shū)寫(xiě)方法:Sheet1.Range(B3).Resize(8, 4)注釋?zhuān)?) 上面書(shū)寫(xiě)方法代表:B3 開(kāi)始,(含本行本列)共擴(kuò)展 8行,4列, 即 B3:E10 單元格2) 詳解:① 數(shù)字 1 代表: 本行,本列 ② 數(shù)字 2 代表擴(kuò)展: 向下 1 行 或者 向右 1 列③ 數(shù)字 3 代表擴(kuò)展: 向下 2 行 或者 向右 2 列 ④ 后面以此類(lèi)推,每增加 1,擴(kuò)展 也 增加 1offset,resize 組合聯(lián)合使用這兩個(gè)屬性是可以組合使用的。這樣對(duì)于后期的改動(dòng)會(huì)更為方便快捷。
要求:表示 C3:E9 單元格書(shū)寫(xiě)方法:Sheet1.Range(A1).Offset(2,2).Resize(7,3)注釋?zhuān)?) A1 單元格 偏移: 向下 2行 向右 2列 再擴(kuò)展: 向下 7行 向右 3列2) 偏移,擴(kuò)展可以前后隨意組合 Offset、Range 和 Resize 總結(jié)
6. Union 屬性
連接二個(gè)不連續(xù)的區(qū)域: B3:D8, G10:I15書(shū)寫(xiě)方法: Union(Sheet1.Range(B3:D8), Sheet1.Range(G10:I15))7. Usedrange 屬性
書(shū)寫(xiě)方法: 注釋?zhuān)?) 確定Sheet1 的 已使用區(qū)域2) 該代碼所表示的地址為:A1:D7
書(shū)寫(xiě)方法:注釋?zhuān)?)該代碼所表示的地址為: A1:G112) 注意: F10:G10 區(qū)域即使為空格, 表示的地址也會(huì)是 A1:G118. CurrentRegion 屬性
書(shū)寫(xiě)方法:Sheet1.Range(A1).CurrentRegion注釋?zhuān)?) 以 A1 為起點(diǎn)的連續(xù)區(qū)域2) 該代碼表示的地址為:A1:D7書(shū)寫(xiě)方法:Sheet1.Range(F10).CurrentRegion注釋?zhuān)?該代碼表示的地址為:F10:G11