VBA 基礎(chǔ)系列講座——目錄
第一課 VBA是什么
1.1 VBA是什么
1.2 EXCEL環(huán)境中基于應(yīng)用程序的自動(dòng)化的優(yōu)點(diǎn)
1.3 錄制一個(gè)簡單的宏
1.4 執(zhí)行宏
1.5 查看錄制的代碼
1.6 編輯錄制的代碼
1.7 錄制宏的局限性
1.8 小結(jié)
第二課 處理錄制的宏
2.1 為宏指定快捷鍵
2.2 存放宏的位置
2.3 創(chuàng)建個(gè)人宏工作簿
2.4 將宏指定給按鈕
2.5 將宏指定給圖片或其他對(duì)象
2.6 小結(jié)
第三課 學(xué)習(xí)控件
3.1 EXCEL開發(fā)過程簡介
3.2 認(rèn)識(shí)不同的控件
3.3 向工作表添加控件
3.4 設(shè)置控件的特性
3.5 給控件命名
3.6 使用用戶窗體
3.7 疑難解答
第四課 理解變量和變量的作用
4.1 代碼存在的位置:模塊
4.2 對(duì)模塊的概覽
4.3 保存對(duì)模塊所做的改變
4.4 變量
4.5 使用常量
4.6 作用域
4.7 小結(jié)
4.8 疑難解答
第五課 利用VBA設(shè)置工作表使用權(quán)限
第六課 提高Excel中VBA的效率
第七課 如何在Excel里使用定時(shí)器
第一課 VBA是什么
1.1 VBA是什么 1. VB是設(shè)計(jì)用于創(chuàng)建標(biāo)準(zhǔn)的應(yīng)用程序,而VBA是使已有的應(yīng)用程序(EXCEL等)自動(dòng)化 盡管存在這些不同,VBA和VB在結(jié)構(gòu)上仍然十分相似.事實(shí)上,如果你已經(jīng)了解了VB,會(huì)發(fā)現(xiàn)學(xué)習(xí)VBA非???相應(yīng)的,學(xué)完VBA會(huì)給學(xué)習(xí)VB打下堅(jiān)實(shí)的基礎(chǔ).而且,當(dāng)學(xué)會(huì)在EXCEL中用VBA創(chuàng)建解決方案后,即已具備在WORD ACCESS OUTLOOK FOXPRO PROWERPOINT 中用VBA創(chuàng)建解決方案的大部分知識(shí). 此外,如果你愿意,還可以將EXCEL用做開發(fā)平臺(tái)實(shí)現(xiàn)應(yīng)用程序. 也許你想知道VBA可以干什么?使用VBA可以實(shí)現(xiàn)的功能包括: 1. 使重復(fù)的任務(wù)自動(dòng)化. 1. EXCEL本身功能強(qiáng)大,包括打印,文件處理,格式化和文本編輯. 在介紹學(xué)習(xí)VBA之前,應(yīng)該花幾分鐘錄制一個(gè)宏。 1)打開新工作簿,確認(rèn)其他工作簿已經(jīng)關(guān)閉。 1)選擇任何一個(gè)單元格,比如A3。 1)選擇“工具”—“宏”—“宏”,顯示“宏”對(duì)話框。 此時(shí),會(huì)打開VBA的編輯器窗口(VBE)。關(guān)于該編輯器,以后再詳細(xì)說明,先將注意力集中到顯示的代碼上。代碼如下:(日期和姓名會(huì)有不同) 在上一節(jié),我們錄制了一個(gè)宏并查看了代碼,代碼中有兩句實(shí)際上并不起作用。哪兩句?現(xiàn)在,在宏中作一個(gè)修改,刪除多余行,直到和下面代碼相同: 1)錄制的宏無判斷或循環(huán)能力.
直到90年代早期,使應(yīng)用程序自動(dòng)化還是充滿挑戰(zhàn)性的領(lǐng)域.對(duì)每個(gè)需要自動(dòng)化的應(yīng)用程序,人們不得不學(xué)習(xí)一種不同的自動(dòng)化語言.例如:可以用EXCEL的宏語言來使EXCEL自動(dòng)化,使用WORD BASIC使WORD自動(dòng)化,等等.微軟決定讓它開發(fā)出來的應(yīng)用程序共享一種通用的自動(dòng)化語言--------Visual Basic For Application(VBA),可以認(rèn)為VBA是非常流行的應(yīng)用程序開發(fā)語言VASUAL BASIC 的子集.實(shí)際上VBA是"寄生于"VB應(yīng)用程序的版本.VBA和VB的區(qū)別包括如下幾個(gè)方面:
2. VB具有自己的開發(fā)環(huán)境,而VBA必須寄生于已有的應(yīng)用程序.
3. 要運(yùn)行VB開發(fā)的應(yīng)用程序,用戶不必安裝VB,因?yàn)閂B開發(fā)出的應(yīng)用程序是可執(zhí)行文件(*.EXE),而VBA開發(fā)的程序必須依賴于它的"父"應(yīng)用程序,例如EXCEL.
* VBA一個(gè)關(guān)鍵特征是你所學(xué)的知識(shí)在微軟的一些產(chǎn)品中可以相互轉(zhuǎn)化.
* VBA可以稱作EXCEL的“遙控器”.
VBA究竟是什么?更確切地講,它是一種自動(dòng)化語言,它可以使常用的程序自動(dòng)化,可以創(chuàng)建自定義的解決方案.
1.2 EXCEL環(huán)境中基于應(yīng)用程序自動(dòng)化的優(yōu)點(diǎn)
2. 自定義EXCEL工具欄,菜單和界面.
3. 簡化模板的使用.
4. 自定義EXCEL,使其成為開發(fā)平臺(tái).
5. 創(chuàng)建報(bào)表.
6. 對(duì)數(shù)據(jù)進(jìn)行復(fù)雜的操作和分析.
用EXCEL作為開發(fā)平臺(tái)有如下原因:
2. EXCEL內(nèi)置大量函數(shù).
3. EXCEL界面熟悉.
4. 可連接到多種數(shù)據(jù)庫.
用其他語言開發(fā)應(yīng)用程序,一半的工作是編寫一些基本功能的模塊,包括文件的打開和保存,打印,復(fù)制等.而用EXCEL作為開發(fā)平臺(tái),則由于EXCEL已經(jīng)具備這些基本功能,你要做的只是使用它.
1.3 錄制簡單的宏
新術(shù)語:“宏”,指一系列EXCEL能夠執(zhí)行的VBA語句。
以下將要錄制的宏非常簡單,只是改變單元格顏色。請(qǐng)完成如下步驟:
2)選擇A1單元格。調(diào)出“常用”工具欄。
3)選擇“工具”—“宏”—“錄制新宏”。
4)輸入“改變顏色”作為宏名替換默認(rèn)宏名,單擊確定,注意,此時(shí)狀態(tài)欄中顯示“錄制”,特別是“停止錄制”工具欄也顯示出來。替換默認(rèn)宏名主要是便于分別這些宏。
★ 宏名最多可為255個(gè)字符,并且必須以字母開始。其中可用的字符包括:字母、數(shù)字和下劃線。宏名中不允許出現(xiàn)空格。通常用下劃線代表空格。
5)選擇“格式”的“單元格”,選擇“圖案”選項(xiàng)中的紅色,單擊“確定”。
6)單擊“停止錄制”工具欄按鈕,結(jié)束宏錄制過程。
※ 如果“停止錄制”工具欄開始并未出現(xiàn),請(qǐng)選擇“工具”—“宏”—“停止錄制”。
錄制完一個(gè)宏后就可以執(zhí)行它了。
1.4 執(zhí)行宏
當(dāng)執(zhí)行一個(gè)宏時(shí),EXCEL按照宏語句執(zhí)行的情況就像VBA代碼在對(duì)EXCEL進(jìn)行“遙控”。但VBA的“遙控”不僅能使操作變得簡便,還能使你獲得一些使用EXCEL標(biāo)準(zhǔn)命令所無法實(shí)現(xiàn)的功能。而且,一旦熟悉了EXCEL的“遙控”,你都會(huì)奇怪自己在沒有這些“遙控”的情況下,到底是怎么熬過來的。要執(zhí)行剛才錄制的宏,可以按以下步驟進(jìn)行:
2)選擇“工具”—“宏”—“宏”,顯示“宏”對(duì)話框。
3)選擇“改變顏色”,選擇“執(zhí)行”,則A3單元格的顏色變?yōu)榧t色。試著選擇其它單元格和幾個(gè)單元格組成的區(qū)域,然后再執(zhí)行宏,以便加深印象。
1.5 查看錄制的代碼
到底是什么在控制EXCEL的運(yùn)行呢?你可能有些疑惑.好,讓我們看看VBA的語句吧.
2)單擊列表中的“改變顏色”,選擇“編輯”按鈕。
Sub 改變顏色()
'
' 改變顏色 Macro
' xw 記錄的宏 2000-6-10
'
'
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
End Sub
將來會(huì)十分熟悉這種代碼,雖然現(xiàn)在它們看上去像一種奇怪的外語。學(xué)習(xí)VBA或編程語言在某種程度上比較像在學(xué)習(xí)一種外語。
Sub 改變顏色():這是宏的名稱。
中間的以“ '”開頭的五行稱為“注釋”,它在錄制宏時(shí)自動(dòng)產(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è)為紅色。注意:有一小圓點(diǎn),它的作用在于簡化語句,小圓點(diǎn)代替出現(xiàn)在With后的詞,它是With結(jié)構(gòu)的一部分。另外:紅色被數(shù)字化為3.(紅色警戒是否可稱作:3號(hào)警戒,嗯?)有興趣的話,你將3改為其他數(shù)字試試看。
.Pattern = xlSolid:設(shè)置該區(qū)域的內(nèi)部圖案。由于是錄制宏,所以,雖然你并未設(shè)置這一項(xiàng),宏仍然將其記錄下來(因?yàn)樵?#8220;圖案”選項(xiàng)中有此一項(xiàng),只是你為曾設(shè)置而已)。xlSolid表示純色。
.PatternColorIndex = xlAutomatic:表示內(nèi)部圖案底紋顏色為自動(dòng)配色。
End With:結(jié)束With 語句。
End Sub:整個(gè)宏的結(jié)束語
1.6 編輯錄制的代碼
Sub 改變顏色()
'
' 改變顏色 Macro
' xw 記錄的宏 2000-6-10
'
'
With Selection.Interior
.ColorIndex = 3
End With
End Sub
完成后,在工作表中試驗(yàn)一下。你會(huì)發(fā)現(xiàn)結(jié)果和修改前的狀況一樣。在With 語句前加入一行:
Range("A5").Select
試著運(yùn)行該宏,則無論開始選擇哪個(gè)單元格,宏運(yùn)行結(jié)果都是使A5單元格變紅.
現(xiàn)在可以看到,編輯錄制的宏同樣非常簡單。需要編輯宏是因?yàn)橐韵氯齻€(gè)方面的原因。一:在錄制中出錯(cuò)而不得不修改。二:錄制的宏中有多余的語句需要?jiǎng)h除,提高宏的運(yùn)行速度。三:希望增加宏的功能。比如:加入判斷或循環(huán)等無法錄制的語句。
1.7 錄制宏的局限性
希望自動(dòng)化的許多EXCEL過程大多都可以用錄制宏來完成.但是宏記錄器存在以下局限性.通過宏記錄器無法完成的工作有:
2)人機(jī)交互能力差,即用戶無法進(jìn)行輸入,計(jì)算機(jī)無法給出提示.
3)無法顯示EXCEL對(duì)話框.
4)無法顯示自定義窗體.
1.8 小結(jié)
本課中,你已經(jīng)掌握了VBA的一些基礎(chǔ)知識(shí),你會(huì)錄制宏、編輯宏而且了解了錄制宏的局限性.你很努力.并且已經(jīng)為將來學(xué)習(xí)VBA甚至VB等編程語言打下了基礎(chǔ).關(guān)鍵是你已經(jīng)了解了一個(gè)謎底,就是說,你了解了什么是編程.下面是些小練習(xí),做完后才可以去玩喲.
思考:
1)VBA只能用于EXCEL嗎?
2)VBA是基于哪種語言?
3)說說EXCEL和VBA的關(guān)系.
4)為什么要用宏?
聯(lián)系客服