摘 要:VBA是建立在微軟Office中的一種應(yīng)用程序開發(fā)工具,為使用者提供了一種可編程的文字、表格處理手段,避免了因人工編輯出現(xiàn)錯(cuò)誤和內(nèi)容過多帶來大量重復(fù)勞動(dòng),可以提高辦公效率。在Excel中,自身已經(jīng)帶有很多實(shí)用的公式,除滿足日常計(jì)算應(yīng)用外,還可以用VBA提供更高級(jí)的處理辦法。
關(guān)鍵詞:VBA;Excel;程序開發(fā)
DOI:10.16640/j.cnki.37-1222/t.2017.07.124
如果深入了解過Excel,會(huì)發(fā)現(xiàn)其原有的公式非常強(qiáng)大,處理重復(fù)工作時(shí)還可以采用制作宏來解決,如果使用過宏命令,就相當(dāng)于用到了一次簡單的VBA代碼。事實(shí)上,VBA編輯器在菜單中也是包含在“宏”的分類下的。
1 For-next語句的示例
本文中,我們就以一個(gè)簡單的“計(jì)算1到1000中各類數(shù)字和”的例子,來探索一下其應(yīng)用。
在此,我們用到的是For-next語句。即從開始執(zhí)行語句后,反復(fù)執(zhí)行For和Next之間的代碼,直到執(zhí)行完畢或遇到Exit for后終止,標(biāo)準(zhǔn)句式如下:
For 循環(huán)變量=初始 to 終值 step 步長
循環(huán)語句1
[exit for]
循環(huán)語句2
Next 循環(huán)變量
其中,步長、exit for和next后的變量均可省略,步長省略后的默認(rèn)值為1,exit for是強(qiáng)制退出循環(huán)命令,執(zhí)行后將直接跳到next后面。
在此,我們分別給出計(jì)算1-10000中整數(shù)和、偶數(shù)和以及奇數(shù)和這幾個(gè)代碼。
整數(shù)和:
Sub naturesum()
Dim i&,j&
For i=1 to 10000
j=j+i
Next
MsgBox “1到10000的自然數(shù)和為:” &j
End Sub
偶數(shù)和:
Sub 求1到10000之間偶數(shù)和()
Dim i&, j&
For i = 0 To 10000 Step 2
j = j+ i
Next
MsgBox "1到10000之間偶數(shù)和為" & j
End Sub
奇數(shù)和
Sub 求1到10000之間奇數(shù)和()
Dim i&, j&
For i = 1 To 10000 Step 2
j = j + i
Next
MsgBox "1到10000之間奇數(shù)和為" & j
End Sub
可以看到,和其他語言如C語言中一樣,變量的定義、循環(huán)語句的使用和中斷是基本類似的??梢杂玫降氖嵌嘈羞x條件統(tǒng)計(jì),做成VBA按鈕后省略常規(guī)方式的選中、篩選、使用vlookup或類似語句進(jìn)行條件判斷再復(fù)制結(jié)果的步驟。
2 VBA中的對(duì)象特殊性
其他還有for-each,do-while等語句,使用原理和其他編程語言一致,不再一一列舉,但要注意的是,VBA的對(duì)象類型是為了控制Excel而存在,因此和其他語言是有區(qū)別的。Excel程序(Application對(duì)象)、工作?。╓orkbook對(duì)象)、工作表(Worksheet對(duì)象)、單元格(Range對(duì)象)還是操作圖表(Chart對(duì)象)、窗體(Userfrom對(duì)象)等等,都是在操作對(duì)象。每個(gè)對(duì)象都是其他對(duì)象的一部分,也可以由其他對(duì)象組成。最頂端的對(duì)象為Application即Excel程序本身,加上worksheet即標(biāo)簽頁,都可以通過VBA直接操作,對(duì)于某個(gè)單元格更不在話下,VBA的工作原理至此應(yīng)該可以十分透徹的理解了。
其他VBA獨(dú)有的代碼命令如針對(duì)單元格的選中、復(fù)制和粘貼等,如下列復(fù)制粘貼代碼:
Sub Macro1()
Range("A1").Copy Range("B1")
End Sub
其中“Range”是規(guī)定操作區(qū)域的命令,也可以加上“select”即Range("A1").Select,即選中A1單元格,但與鼠標(biāo)操作不同,VBA操作可以在不選取的情況下進(jìn)行。如果跨工作表則增加Workbooks和Steets標(biāo)簽,如 Workbooks("book1").Sheets(1).[a1:a10]即文件book1中sheet1表格的a1到a10單元格。
VBA的應(yīng)用十分靈活多變,綜合了各種程序語言的特征,能極大地提高Excel的功能性和實(shí)用性,再熟悉環(huán)境后加強(qiáng)運(yùn)用,會(huì)獲得意想不到的便利,甚至遠(yuǎn)大于某些低廉的專用辦公系統(tǒng)。
參考文獻(xiàn):
[1]賈志先.基于邏輯推理的計(jì)算機(jī)試題評(píng)卷算法研究[J].智能計(jì)算機(jī)與應(yīng)用,2014(04).
[2]賈志先.計(jì)算機(jī)文化基礎(chǔ)考試系統(tǒng)的開發(fā)與應(yīng)用[J].計(jì)算機(jī)應(yīng)用,2001(07)中國圖書全文數(shù)據(jù)庫共3條.
[1]馬維峰.ExcelVBA應(yīng)用開發(fā)從基礎(chǔ)到實(shí)踐[M].電子工業(yè)出版社,2006.
[2]王鴻儒.ExcelVBA程序設(shè)計(jì)[M].中國鐵道出版社,2005.
[3](美)[B.扎拉琴]BeckZaratian.MicrosoftVisualJ++6.0programmersguide程序員指南[M].北京希望電子出版社,1999.
作者簡介:杜玉紅(1979-),女,河南安陽人,本科,講師,主要研究方向:計(jì)算機(jī)應(yīng)用。