VIP標(biāo)識(shí) 上網(wǎng)做生意,首選VIP會(huì)員| 設(shè)為首頁| 加入桌面| | 手機(jī)版| RSS訂閱
食品伙伴網(wǎng),關(guān)注食品安全,探討食品技術(shù)
 
當(dāng)前位置: 首頁 » 食品專題 » 辦公軟件-excel使用技巧 » 正文

第一課VBA是什么

放大字體  縮小字體 發(fā)布日期:2006-06-16

1.1 VBA是什么

  直到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è)方面:
  1. VB是設(shè)計(jì)用于創(chuàng)建標(biāo)準(zhǔn)的應(yīng)用程序,而VBA是使已有的應(yīng)用程序(EXCEL等)自動(dòng)化
  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和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í).

  * VBA一個(gè)關(guān)鍵特征是你所學(xué)的知識(shí)在微軟的一些產(chǎn)品中可以相互轉(zhuǎn)化.
  * VBA可以稱作EXCEL的“遙控器”.

  VBA究竟是什么?更確切地講,它是一種自動(dòng)化語言,它可以使常用的程序自動(dòng)化,可以創(chuàng)建自定義的解決方案.

   此外,如果你愿意,還可以將EXCEL用做開發(fā)平臺(tái)實(shí)現(xiàn)應(yīng)用程序.

  1.2 EXCEL環(huán)境中基于應(yīng)用程序自動(dòng)化的優(yōu)點(diǎn)

  也許你想知道VBA可以干什么?使用VBA可以實(shí)現(xiàn)的功能包括:

  1. 使重復(fù)的任務(wù)自動(dòng)化.
  2. 自定義EXCEL工具欄,菜單和界面.
  3. 簡化模板的使用.
  4. 自定義EXCEL,使其成為開發(fā)平臺(tái).
  5. 創(chuàng)建報(bào)表.
  6. 對(duì)數(shù)據(jù)進(jìn)行復(fù)雜的操作和分析.

  用EXCEL作為開發(fā)平臺(tái)有如下原因:

  1. EXCEL本身功能強(qiáng)大,包括打印,文件處理,格式化和文本編輯.
  2. EXCEL內(nèi)置大量函數(shù).
  3. EXCEL界面熟悉.
  4. 可連接到多種數(shù)據(jù)庫.

  用其他語言開發(fā)應(yīng)用程序,一半的工作是編寫一些基本功能的模塊,包括文件的打開和保存,打印,復(fù)制等.而用EXCEL作為開發(fā)平臺(tái),則由于EXCEL已經(jīng)具備這些基本功能,你要做的只是使用它.

  1.3 錄制簡單的宏

  在介紹學(xué)習(xí)VBA之前,應(yīng)該花幾分鐘錄制一個(gè)宏。
  新術(shù)語:“宏”,指一系列EXCEL能夠執(zhí)行的VBA語句。
  以下將要錄制的宏非常簡單,只是改變單元格顏色。請完成如下步驟:

  1)打開新工作簿,確認(rèn)其他工作簿已經(jīng)關(guān)閉。
  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),請選擇“工具”—“宏”—“停止錄制”。

  錄制完一個(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)行:

  1)選擇任何一個(gè)單元格,比如A3。
  2)選擇“工具”—“宏”—“宏”,顯示“宏”對(duì)話框。
  3)選擇“改變顏色”,選擇“執(zhí)行”,則A3單元格的顏色變?yōu)榧t色。試著選擇其它單元格和幾個(gè)單元格組成的區(qū)域,然后再執(zhí)行宏,以便加深印象。

  1.5 查看錄制的代碼

  到底是什么在控制EXCEL的運(yùn)行呢?你可能有些疑惑.好,讓我們看看VBA的語句吧.

  1)選擇“工具”—“宏”—“宏”,顯示“宏”對(duì)話框。
  2)單擊列表中的“改變顏色”,選擇“編輯”按鈕。

  此時(shí),會(huì)打開VBA的編輯器窗口(VBE)。關(guān)于該編輯器,以后再詳細(xì)說明,先將注意力集中到顯示的代碼上。代碼如下:(日期和姓名會(huì)有不同)

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)樵?ldquo;圖案”選項(xiàng)中有此一項(xiàng),只是你為曾設(shè)置而已)。xlSolid表示純色。

.PatternColorIndex = xlAutomatic:表示內(nèi)部圖案底紋顏色為自動(dòng)配色。

End With:結(jié)束With 語句。

End Sub:整個(gè)宏的結(jié)束語

  1.6 編輯錄制的代碼

   在上一節(jié),我們錄制了一個(gè)宏并查看了代碼,代碼中有兩句實(shí)際上并不起作用。哪兩句?現(xiàn)在,在宏中作一個(gè)修改,刪除多余行,直到和下面代碼相同:

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過程大多都可以用錄制宏來完成.但是宏記錄器存在以下局限性.通過宏記錄器無法完成的工作有:

 1)錄制的宏無判斷或循環(huán)能力.
  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)為什么要用宏?

 
[ 網(wǎng)刊訂閱 ]  [ 食品專題搜索 ]  [ ]  [ 告訴好友 ]  [ 打印本文 ]  [ 關(guān)閉窗口 ] [ 返回頂部 ]

 

 
推薦圖文
推薦食品專題
點(diǎn)擊排行
 
 
Processed in 0.021 second(s), 18 queries, Memory 0.88 M