W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
直到 90 年代早期,使應(yīng)用程序自動化還是充滿挑戰(zhàn)性的領(lǐng)域.對每個需要自動化的應(yīng)用程序,人們不得不學(xué)習(xí)一種不同的自動化語言.例如:可以用 EXCEL 的宏語言來使 EXCEL 自動化,使用 WORD BASIC 使 WORD 自動化,等等.微軟決定讓它開發(fā)出來的應(yīng)用程序共享一種通用的自動化語言--------Visual Basic For Application(VBA),可以認(rèn)為 VBA 是非常流行的應(yīng)用程序開發(fā)語言 VASUAL BASIC 的子集.實際上 VBA 是"寄生于" VB 應(yīng)用程序的版本. VBA 和 VB 的區(qū)別包括如下幾個方面:
1. VB 是設(shè)計用于創(chuàng)建標(biāo)準(zhǔn)的應(yīng)用程序,而 VBA 是使已有的應(yīng)用程序(EXCEL 等)自動化
2. VB 具有自己的開發(fā)環(huán)境,而 VBA 必須寄生于已有的應(yīng)用程序.
3. 要運行 VB 開發(fā)的應(yīng)用程序,用戶不必安裝 VB,因為 VB 開發(fā)出的應(yīng)用程序是可執(zhí)行文件(*.EXE),而 VBA 開發(fā)的程序必須依賴于它的"父"應(yīng)用程序,例如 EXCEL.
盡管存在這些不同,VBA 和 VB 在結(jié)構(gòu)上仍然十分相似.事實上,如果你已經(jīng)了解了 VB,會發(fā)現(xiàn)學(xué)習(xí) VBA 非常快.相應(yīng)的,學(xué)完 VBA 會給學(xué)習(xí) VB 打下堅實的基礎(chǔ).而且,當(dāng)學(xué)會在 EXCEL 中用 VBA 創(chuàng)建解決方案后,即已具備在 WORD ACCESS OUTLOOK FOXPRO PROWERPOINT 中用 VBA 創(chuàng)建解決方
案的大部分知識.
* VBA 一個關(guān)鍵特征是你所學(xué)的知識在微軟的一些產(chǎn)品中可以相互轉(zhuǎn)化.
* VBA 可以稱作 EXCEL 的"遙控器".
VBA 究竟是什么?更確切地講,它是一種自動化語言,它可以使常用的程序自動化,可以創(chuàng)建自定義的解決方案.
此外,如果你愿意,還可以將 EXCEL 用做開發(fā)平臺實現(xiàn)應(yīng)用程序.
1. 使重復(fù)的任務(wù)自動化.
2. 自定義 EXCEL 工具欄,菜單和界面.
3. 簡化模板的使用.
4. 自定義 EXCEL,使其成為開發(fā)平臺.
5. 創(chuàng)建報表.
6. 對數(shù)據(jù)進(jìn)行復(fù)雜的操作和分析.
用EXCEL作為開發(fā)平臺有如下原因:
1. EXCEL 本身功能強大,包括打印,文件處理,格式化和文本編輯.
2. EXCEL 內(nèi)置大量函數(shù).
3. EXCEL 界面熟悉.
4. 可連接到多種數(shù)據(jù)庫.
用其他語言開發(fā)應(yīng)用程序,一半的工作是編寫一些基本功能的模塊,包括文件的打開和保存,打印,復(fù)制等.而用 EXCEL 作為開發(fā)平臺,則由于 EXCEL 已經(jīng)具備這些基本功能,你要做的只是使用它.
新術(shù)語:"宏",指一系列 EXCEL 能夠執(zhí)行的 VBA 語句。
以下將要錄制的宏非常簡單,只是改變單元格顏色。請完成如下步驟:
1、打開新工作簿,確認(rèn)其他工作簿已經(jīng)關(guān)閉。
2、選擇 A1 單元格。調(diào)出"常用"工具欄。
3、選擇"工具"-"宏"-"錄制新宏"。
4、輸入"改變顏色"作為宏名替換默認(rèn)宏名,單擊確定,注意,此時狀態(tài)欄中顯示"錄制",特別是"停止錄制"工具欄也顯示出來。替換默認(rèn)宏名主要是便于分別這些宏。
★ 宏名最多可為 255 個字符,并且必須以字母開始。其中可用的字符包括:字母、數(shù)字和下劃線。宏名中不允許出現(xiàn)空格。通常用下劃線代表空格。
5、選擇"格式"的"單元格",選擇"圖案"選項中的紅色,單擊"確定"。
6、單擊"停止錄制"工具欄按鈕,結(jié)束宏錄制過程。
※ 如果"停止錄制"工具欄開始并未出現(xiàn),請選擇"工具"-"宏"-"停止錄制"。
錄制完一個宏后就可以執(zhí)行它了。
1、選擇任何一個單元格,比如 A3。
2、選擇"工具"-"宏"-"宏",顯示"宏"對話框。
3、選擇"改變顏色",選擇"執(zhí)行",則 A3 單元格的顏色變?yōu)榧t色。試著選擇其它單元格和幾個單元格組成的區(qū)域,然后再執(zhí)行宏,以便加深印象。
1、選擇"工具"-"宏"-"宏",顯示"宏"對話框。
2、單擊列表中的"改變顏色",選擇"編輯"按鈕。
此時,會打開 VBA 的編輯器窗口(VBE)。關(guān)于該編輯器,以后再詳細(xì)說明,先將注意力集中到顯示的代碼上。代碼如下:(日期和姓名會有不同)
Sub 改變顏色()
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
End Sub
將來會十分熟悉這種代碼,雖然現(xiàn)在它們看上去像一種奇怪的外語。學(xué)習(xí) VBA 或編程語言在某種程度上比較像在學(xué)習(xí)一種外語。
Sub 改變顏色():這是宏的名稱。
中間的以" '"開頭的五行稱為"注釋",它在錄制宏時自動產(chǎn)生。
以 With 開頭到 End With 結(jié)束的結(jié)構(gòu)是 With 結(jié)構(gòu)語句,這段語句是宏的主要部分。注意單詞 "selection",它代表"突出顯示的區(qū)域"(即:選定區(qū)域)。
?With Selection.Interior
? :它讀作"選擇區(qū)域的的內(nèi)部".這整段語句設(shè)置該區(qū)域內(nèi)部的一些"屬性"。
其中:
?.ColorIndex = 3
?: 將該內(nèi)部設(shè)為紅色。注意:有一小圓點,它的作用在于簡化語句,小圓點代替出現(xiàn)在 With 后的詞,它是 With 結(jié)構(gòu)的一部分。另外:紅色被數(shù)字化為 3.(紅色警戒是否可稱作:3 號警戒,嗯?)有興趣的話,你將 3 改為其他數(shù)字試試看。
?.Pattern = xlSolid
?:設(shè)置該區(qū)域的內(nèi)部圖案。由于是錄制宏,所以,雖然你并未設(shè)置這一項,宏仍然將其記錄下來(因為在"圖案"選項中有此一項,只是你未曾設(shè)置而已)。xlSolid 表示純色。
?.PatternColorIndex = xlAutomatic
?:表示內(nèi)部圖案底紋顏色為自動配色。
?End With
?:結(jié)束 With 語句。
?End Sub
?:整個宏的結(jié)束語
Sub 改變顏色()
With Selection.Interior
.ColorIndex = 3
End With
End Sub
完成后,在工作表中試驗一下。你會發(fā)現(xiàn)結(jié)果和修改前的狀況一樣。在 With 語句前加入一行:
?Range("A5").Select
?
試著運行該宏,則無論開始選擇哪個單元格,宏運行結(jié)果都是使 A5 單元格變紅.
現(xiàn)在可以看到,編輯錄制的宏同樣非常簡單。需要編輯宏是因為以下三個方面的原因。
一:在錄制中出錯而不得不修改。
二:錄制的宏中有多余的語句需要刪除,提高宏的運行速度。
三:希望增加宏的功能。比如:加入判斷或循環(huán)等無法錄制的語句。
通過宏記錄器無法完成的工作有:
1、錄制的宏無判斷或循環(huán)能力.
2、人機交互能力差,即用戶無法進(jìn)行輸入,計算機無法給出提示.
3、無法顯示EXCEL對話框.
4、無法顯示自定義窗體.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: