ExcelVBA學(xué)習(xí)總結(jié) 基礎(chǔ)知識_第1頁
ExcelVBA學(xué)習(xí)總結(jié) 基礎(chǔ)知識_第2頁
ExcelVBA學(xué)習(xí)總結(jié) 基礎(chǔ)知識_第3頁
ExcelVBA學(xué)習(xí)總結(jié) 基礎(chǔ)知識_第4頁
ExcelVBA學(xué)習(xí)總結(jié) 基礎(chǔ)知識_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

ExcelVBA學(xué)習(xí)總結(jié)-基礎(chǔ)知識1.什么是VBA?當(dāng)前輩們使用Excel的時候,他們驚奇的發(fā)現(xiàn):Excel那是相當(dāng)?shù)谋牒罚瑤缀跞魏蔚臄?shù)據(jù)分析與處理,它都可以"近乎完美"(實際上不可能完美)完成。但是在使用的過程中,他們也同樣發(fā)現(xiàn),有很多工作是要重復(fù)做的。如果要想自動重復(fù)的完成這些工作,必須要借助其他的編程語言和工具。微軟為了簡化這個過程,開發(fā)了一個通用的自動化語言,這個就是VBA(VisualBasicforApplication)。所有支持VBA的應(yīng)用程序都可以方便的自動化執(zhí)行某些固定的步驟,除此以外,支持VBA的應(yīng)用程序之間也可以通過VBA這個平臺進(jìn)行互操作。由于這里討論的是Excel中的VBA,所以我后面的總結(jié)內(nèi)容都是以Excel中的VBA為主。VBA是VB的一個子集,它們之間有些地方是不同的:VB程序可以獨立的部署和運行,但是VBA程序不能離開宿主程序運行。VB程序是一個編譯型的語言,程序需要編譯后執(zhí)行,而VBA程序是解釋執(zhí)行的腳本語言。通過VBA這個工具,Excel就可以完成許多自動化的任務(wù),并且可以充分利用Office其它組件的功能。2.VBA能做什么?知道了VBA是什么東東后,那么它能干什么呢?確定的說,VBA基本能做一切Excel能做的事,比如打印,生成報表,分析數(shù)據(jù),生成圖表等,這是VBA最大的優(yōu)點。不需要額外實現(xiàn)這些標(biāo)準(zhǔn)的功能,只需要簡單的調(diào)用就可以了,Excel已經(jīng)做好了一切準(zhǔn)備。除了這個好處,VBA其實還能處理很多的任務(wù):自定義Excel的外觀,菜單,工具欄等。重復(fù)執(zhí)行自動化操作。操作文件和文件夾訪問數(shù)據(jù)庫并執(zhí)行相關(guān)操作訪問網(wǎng)絡(luò)操作XML獲取系統(tǒng)信息操作和自動化Office其它組件(支持VBA的其他公司的產(chǎn)品也可以操作)除了上述的任務(wù)外,VBA還有很多其它的功能有待發(fā)掘。3.VBA與MacroMacro是一組Excel能理解并執(zhí)行的命令集合。借助宏錄制器,我們能得到這些宏命令翻譯后的VBA代碼。這是最簡潔獲得VBA代碼的方式,也是VBA開發(fā)最主要的模式。4.VBA小結(jié)VBA的語法很簡單,這里就不再詳述了。我個人學(xué)習(xí)新語言的習(xí)慣都是,先了解一下這個語言出現(xiàn)的背景,然后了解一下語言改進(jìn)的地方,最后是實踐一下基本的語法,研究語言運行的機制和部署情況。經(jīng)過這個步驟以后,我就做幾個實際小例子鞏固鞏固。我學(xué)習(xí)VBA的小結(jié)如下:Module是VBA組織代碼的最小單元。VBA是不分大小寫的,所以更要養(yǎng)成良好的編程習(xí)慣。代碼可以一行寫多句,用":"隔開,也可以一句寫在多行,行末用"_"標(biāo)識。Module成員的訪問限定:Public:當(dāng)前程序中的所有模塊都可以訪問該成員,如果方法默認(rèn)不加限定符的話,當(dāng)Public處理;Public成員只能在Module中定義。Dim/Private:只有本Module內(nèi)部的所有方法才能訪問這些成員。當(dāng)然方法是不能用Dim定義的。Friend:只能用于對象模塊或者窗體模塊,作用范圍是當(dāng)前程序中的其他對象模塊可以訪問該成員。Const定義恒定變量的時候,只能在Module中定義,不能在方法內(nèi)定義;前面可以加Public/Private限定。有一點比較惡心,對象賦值用"Set...=",其余的一切賦值用"=",包括對象的屬性賦值。可以使用Type在模塊級別中定義包含一個或多個元素的用戶自定義的數(shù)據(jù)類型。根據(jù)使用情況(比如需要的存儲大小)選用合適的變量類型,一般都應(yīng)該明確定義變量類型,不要使用默認(rèn)的Variant類型。當(dāng)需要使用變長集合的時候,可以考慮使用動態(tài)數(shù)組(使用ReDim和Preserve)。Nothing、Empty與Null的比較:Nothing:這是一個指向空對象的對象引用。將對象引用設(shè)置為Nothing,就釋放了那個對象。如果沒有其他的引用指向?qū)ο螅琕B/VBA就將銷毀這個對象。可以使用“ObjisNothing”的方式檢查。

Empty:這是一個象Integer或者String一樣的變量類型,它表示了一個還沒有進(jìn)行初始化的變量。它與Null的意義不同,Null表示沒有合法數(shù)據(jù)。例如數(shù)組,集合剛定義,還沒有賦值之前就是這個狀態(tài),可以使用內(nèi)置方法IsEmpty檢查。

Null:這是一個象Integer或者String一樣的變量類型,它表示一個沒有合法數(shù)據(jù)的變量。這有別于zero、Nothing、Empty或者vbNullString。Null參與的運算,都將產(chǎn)生Null結(jié)果。可以用內(nèi)置方法IsNull檢查。使用"ForEach"語句枚舉集合成員。使用"For"語句執(zhí)行固定次數(shù)的循環(huán)。使用"DoWhile/Until...Loop"或者"While...Wend"語句執(zhí)行不定次數(shù)的循環(huán)。使用"If"語句執(zhí)行2分支的選擇。使用"SwitchCase"語句執(zhí)行n分支的選擇。使用"With"語句減少重復(fù)對象的書寫。在Module開始的時候,加上"OptionExplicit"可以強制變量使用前必須聲明。類型定義的簡短寫法:例如定義整形,可簡寫為:Dimi%

Integer%

Long&

Single!

Double#

Currency@

String$

String*size$方法調(diào)用可以加括號,也可以不加括號;如果要是加括號,特別是含有多個參數(shù)的時候,則前面需要加上"Call"。方法是支持可選參數(shù)的,參數(shù)前用"Optional"標(biāo)識并用"="提供默認(rèn)值。可選參數(shù)用"參數(shù)名:=值"的方式傳值特別方便。連接多個變量時,盡量使用強制連接符"&",少使用混和連接符"+"。在合適的時候,盡量多使用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論