6月3日——第四章 常用對(duì)象

1.VBA 常用的對(duì)象

Application 代表Excel應(yīng)用程序

Workbook 代表Excel中的工作簿,一個(gè)Workbook對(duì)象代表一個(gè)工作簿文件

Worksheet 代表Excel中的工作表,一個(gè)Worksheet對(duì)象代表工作簿里的一張普通工作表

Range 代表Excel中的單元格,可以是單個(gè)單元格,也可以是單元格區(qū)域

2.Application

打開對(duì)象模型,最頂端的Application對(duì)象是起點(diǎn),它代表excel程序本身,就像一棵樹的根,excel里所有的對(duì)象都以它為起點(diǎn)。

①ScreenUpdating 屬性

ScreenUpdating屬性的默認(rèn)值為True,如果設(shè)置為False,Excel不會(huì)講計(jì)算結(jié)果顯示到屏幕上。

②DisplayAlerts 屬性

DisplayAlerts屬性決定在程序運(yùn)行中是否顯示警告信息,默認(rèn)值為True,如果不想在程序運(yùn)行時(shí)被提示和警告信息打擾,可以在程序開始時(shí)將屬性設(shè)為False。但如果在程序中修改了該屬性為False,在程序結(jié)束前記得將它設(shè)回True。

③EnableEvents屬性

可以通過設(shè)置Application對(duì)象的EnableEvents屬性來啟用或禁用事件。(事件是能被excel認(rèn)識(shí)的一個(gè)操作動(dòng)作)

EnableEvents屬性為False后,當(dāng)選中單元格后,excel不會(huì)再自動(dòng)運(yùn)行程序,即禁用了該程序。

④WorksheetFunction屬性

WorksheetFunction屬性用于調(diào)用部分工作表函數(shù)。

3.Workbook

①引用單個(gè)工作簿

a.利用索引號(hào)引用,如:Workbooks.Item(3);b.利用工作簿名引用工作簿,如:Workbooks("Book1")

②實(shí)際操作

Workbooks.Add ?創(chuàng)建一個(gè)工作簿文件

Workbooks.Open ?打開一個(gè)excel文件

Workbooks.Activate ?激活一個(gè)工作簿文件

Workbooks.Save ?保存工作簿

Workbooks.Close ?關(guān)閉所有打開的工作簿? ? ? Workbooks("Book1").Close ?關(guān)閉"Book1"

Workbooks("Book1").Close savechanges:=True ?關(guān)閉并保存修改

4.Worksheet

①引用工作表 ? ?Worksheets("Sheet1") 引用工作簿里標(biāo)簽名稱為“sheet1”的工作表

? Sheet1.Range("A1")=100 在指定工作表的A1單元格輸入100 [Sheet1為代碼名稱]

②新建工作表 ?Worksheets.Add

③刪除工作表 Worksheets.Delete

④激活工作表 Worksheets(1).Activate? Worksheets(1).Select

⑤復(fù)制工作表 Worksheets(1).Copy

⑥移動(dòng)工作表 Worksheets("sheet1").Move before:=Worksheets("sheet3") ?將sheet1移到sheet3前面

⑦隱藏或顯示工作表?

隱藏 Worksheets("sheet1").Visible=False / Worksheets("sheet1").Visible=0 / Worksheets("sheet1").Visible=x|sheetHidden

顯示 Worksheets("sheet1").Visible=True? / Worksheets("sheet1").Visible=1 / Worksheets("sheet1").Visible=-1 / Worksheets("sheet1").Visible=x|sheetVisible

5.Sheets 與 Worksheets

Sheets 集合包含更多類型的工作表,所以其包含的方法和屬性比Worksheets集合多。

6.Range

①Range("A1:A10") ?活動(dòng)工作表A1:A10的單元格

dim n as string?

n="B1:B10"

Range(n)=100 ?n表示單元格地址的字符串變量

③如果單元格已經(jīng)被定義為名稱,參數(shù)還可以表示名稱名的字符串或字符串變量,如:Range("date").Value=100

④如果要引用多個(gè)不連續(xù)的區(qū)域,可以在各區(qū)域間添加逗號(hào),如:Range("A1:A10,A4:E5,C3:D8")

⑤如果想引用相交區(qū)域(公共區(qū)域),可以在多個(gè)區(qū)域間添加空格,如:Range("B1:B10? A4:D8") 還可以使用兩個(gè)參數(shù)來引用兩個(gè)區(qū)域圍城的矩形區(qū)域,如:Range("B1:B10"," ?D4:D8")

⑥Worksheet(或Range)對(duì)象的Cells屬性

這是引用Range對(duì)象的另一種形式,返回指定工作表或單元格區(qū)域中指定行與列相交的單元格。? activesheet.cells(3,4)與activesheet.cells(3,"D") 相同,均為第3行與第4列(即D列)相交的單元格(D3).cells可以只使用一個(gè)參數(shù),如:cells(2),2是索引號(hào),索引號(hào)告訴VBA現(xiàn)在引用的是activesheet中的第2個(gè)單元格。

如果引用的是worksheet 對(duì)象的cells屬性,在excel2003中索引號(hào)的值為1到16777216(65536行×256列)。單元格從左往右,從上到下的順序編號(hào),即A1為第1個(gè)單元格,B1為第2個(gè)單元格,C1為第3個(gè)單元格……A2為第257個(gè)單元格……

如果引用的是range對(duì)象的cells屬性,索引號(hào)的范圍為1到這個(gè)單元格區(qū)域包含的單元格個(gè)數(shù)。但索引號(hào)可以大于單元格區(qū)域里的單元格個(gè)數(shù),如果索引號(hào)大于單元格個(gè)數(shù),系統(tǒng)會(huì)自動(dòng)將單元格區(qū)域在行方向上進(jìn)行擴(kuò)展(列數(shù)不變),然后再引用。

如果不適用任何參數(shù),cells屬性將返回指定對(duì)象中的所有單元格。

range屬性能引用多個(gè)單元格,而cells屬性只能引用一個(gè)單元格。

引用整行:Rows("3:3") ?'第三行,Rows("3:5") ?'第3到第5行。

引用整列:Columns("F:G") ?'F列到G列 ? ? ?Columns(6) ?'第6列

⑦Offset屬性

Range("A1").offset(2,3) ?'從A1單元格出發(fā),向下移動(dòng)2行,向右移動(dòng)3列。修改Offset的參數(shù)可以控制移動(dòng)的方向和距離。如果參數(shù)是正數(shù),表示向下或向右移動(dòng);如果參數(shù)為負(fù)數(shù),表示向上或向左移動(dòng);如果參數(shù)為0,則不移動(dòng)。

⑧Resize屬性

使用Range對(duì)象的Resize屬性擴(kuò)大或縮小指定的單元格區(qū)域,得到一個(gè)新的單元格區(qū)域。

Range("B2").Resize(5,4) '將B2單元格擴(kuò)大為B2:E6 ? Resize(a,b)表示新區(qū)域有a行,b列

⑨End屬性

End屬性的參數(shù),x|ToLeft(向左移動(dòng)) ?x|ToRight(向右移動(dòng)) ?x|Up(向上移動(dòng)) x|Down(向下移動(dòng))

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容