前陣子很火的一張惡搞圖
看到來自於Excel的嘲諷了嗎?
ᶘ ͡°ᴥ͡°ᶅ
這篇文章就帶你認識Excel中的對象概念,瞭解一下Excel中的常見對象:工作簿、工作表、單元格。好好學,在Excel中一定找的到對象!
關於對象
在使用Excel開發VBA程序的時候,從對象的角度進行思考是很有幫助的。因為日常工作中我們就是手動操作這些對象。
新建工作簿、新建工作表、向單元格輸入值、修改單元格邊框、新建表等等,這裡的工作簿、工作表、單元格、圖表就是Excel中的對象。
編寫VBA代碼就是用宏代碼的方式去操作這些對象。
他們之間有嚴格的層次結構,先放一張工作簿和工作表單元格之間的包含關係簡圖,這篇文章就圍繞這張簡圖開始說起。
我們看這裡的對象層次結構:Excel程序對象包含著工作簿對象,工作簿對象包含工作表對象,工作表對象又包含單元格對象。這些層次結構組成了Excel的對象模型。
→劃重點:
實際上Excel程序包含200多種對象,
工作簿
先來說下工作簿對象:
在Excel中做的所有事情都在工作簿中,工作簿文件常見格式有xls、xlsx、xlsm。
很多學VBA的朋友,學了大半年連它們之前的區別都是模模糊糊的。上次有個朋友直接拿xlsx來讓我幫助調試代碼,我真是哭笑不得。
➜想更詳細的瞭解他們之間的區別的話看下面:
▪
▪版本上:xls是2003版本下的文件 ,不管有沒有宏程序的話都是xls文件 ,從2007開始做了區分,XLSM文件和XLSX文件都是excel2007及其以後的文件,但前者是含有宏啟用,Excel中默認情況下不自動啟用宏,默認是XLSX。
VBA中,如果不想保存代碼,可以保存為xlsx,即可自動刪除其中VBA代碼,反之則保存為XLSM文件。
▪默認保存方式上:xls是03版Office Microsoft Office Excel 工作表的格式,用03版Office,新建Excel默認保存的Excel文件格式的後綴是.xls;xlsx是07版以及以後Office Microsoft Office Excel 工作表的格式,用07版以及以後版本的Office,新建Excel默認保存的的Excel文件格式後綴是.xlsx。
工作表
工作表對象也是Sheet對象。但是VBA裡面還有一個WorkSheet對象。他們之間到底是什麼區別呢?!
通俗來說,Sheet是統稱,Worksheet僅代表Sheet對象中的工作表的一種,Sheet對象還有其它類型的工作表,例如圖表工作表、Excel 4.0宏工作表(也稱作XLM文件)和Excel 5.0對話框工作表(允許創建自定義對話框)。
默認情況下,我們點擊+號,新建的就是日常使用的工作表WorkSheet對象。
但是如果右鍵,點【插入】的話,就會有這幾種不太常見的Sheet對象。
這些被冷落的孩子藏在這麼隱蔽的地方。
➜還有人對WorkSheets、WorkSheet分不清楚
顧名思義,有個"s"就是複數,Worksheets是Worksheet的集合,Sheets是sheet的集合,worksheets是sheets的子集。
我們一般在定義變量類型的時候使用WorkSheet:
<code>
Dim
sht As Worksheet/<code>我們一般在遍歷工作表的時候使用WorkSheets。
<code>
Sub
遍歷工作表()For
Each
sht
In
ThisWorkbook
.Worksheets
MsgBox
sht
.Name
NextEnd
Sub
/<code>或者引用某個工作表的時候使用
<code>
WorkSheets
("工作表名"
)/<code>來引用相應的工作表。
集合的Count屬性返回工作簿中工作表的數量,而Sheets集合的Count屬性則返回工作簿中所有工作表的數量,包含圖表工作表和工作表。
一般來說,一個工作簿中,只包含一般工作表(沒圖表、宏表……)。Count數量也等,所以很多人把Sheets當作Worksheets的簡寫。
4單元格
單元格是Excel中最小單元,在Excel VBA中很多操作最終都是對於單元格的操作。
關於單元格對象的引用、屬性、方法,請看我之前的文章。這裡不做講解。