VBA與宏
剛開始的內(nèi)容聽起來很枯燥,請大家不要分心,耐著性子看下去,興趣總是慢慢積累的。
1、錄制一段屬于自己的宏
提到VBA,相信很多人想到的就是宏,但是VBA與宏是不是一回事?我覺得它們不是一回事,但這不重要,我們要做的是先來認(rèn)識一下宏。
宏是什么?
我理解的宏是一系列固定動作的集合,這個集合當(dāng)遇到讓他執(zhí)行的條件后就逐個執(zhí)行。
有人把我們錄制的宏比喻成一個武術(shù)運動員在比賽中練就的一段武術(shù)套路動作,這個套路遇到一定的條件(比賽)就執(zhí)行。
好了,別閑著,動一動你可愛的右手,點點鼠標(biāo),打開一個Excel文件,錄制一段宏來來研究研究,步驟如下:
(1)選中任意一個單元格;
?。?)打開菜單—>工具—>宏—>錄制新宏,調(diào)出宏錄制對話框,輸入宏名(mysub),確定;(07版的office為:視圖—>宏—>錄制新宏)
?。?)設(shè)置單元格字體為仿宋體,紅色;
(4)點擊停止錄宏。
這樣,一個簡單的設(shè)置單元格格式的宏就錄好了。
2、下面我們來執(zhí)行這段宏
(1)選中需要設(shè)置的任意單元格或單元格區(qū)域(為了看出效果,單元格最好有字符);
?。?)打開菜單—>工具—>宏—>宏,顯示“宏”對話框(快捷鍵:Alt+F8);(07版的office為:視圖—>宏—>錄制新宏)
?。?)選擇我們剛才錄制的宏,單擊“執(zhí)行”。
這樣我們看到已經(jīng)為剛才選中的單元格的字體已被修改成仿宋體,紅色。自己動手試著錄制幾段宏,再執(zhí)行一下,加深印象。
神奇了吧?以后當(dāng)你再需要一遍又一遍地重復(fù)若干相同的操作的時候,會不會想到讓宏來替你做這一切?這是一個不錯的奴隸,不用花錢,且不用開工資,賺了吧?
好了,收起你貪婪的笑容,繼續(xù)往下看。
宏是什么?現(xiàn)在相信你能想出一千種說法,由你了,我可沒你聰明,也不再多說。
3、保存宏
如果你忘記了,請你再打開宏錄制對話框,在宏名的下面,有一個“保存在”的選項,點一點下拉的箭頭,我們可以看到,宏可以保存在三種不同的位置,分別是:
(1)當(dāng)前工作簿(系統(tǒng)默認(rèn)):宏保存在當(dāng)前工作薄的模塊里,只有當(dāng)該工作薄打開時,宏才起作用。
?。?)新工作簿:新建一個工作薄保存。
?。?)個人宏工作簿:這是為宏而設(shè)計的一種特殊的具有自動隱藏特性的工作簿,如果你要讓某個宏在多個工作簿都能使用,那么就應(yīng)當(dāng)創(chuàng)建個人宏工作簿,并將宏保存于其中。
上面我們錄制的宏是保存在當(dāng)前工作薄里,今天我們在這里也只介紹保存在當(dāng)前工作表里的宏。
4、宏靠什么運行
宏靠什么來控制Excel的運行?是不是感覺深在濃濃的迷霧里,感覺一頭霧水?讓我們鼓一鼓勁,撥開它的衣服,開開那家伙里面到底是什么?
(1)按Alt+F8快捷鍵打開“宏”對話框;
(2)選擇我們剛才錄制的宏,點“編輯”按鈕。
眼前一亮吧?這是一個新的天地——VBA的編輯器窗口(VBE),這個我們以后再說,先將注意力集中到顯示的代碼上。代碼如下:
Sub mysub()
' mysub Macro
' 宏由ggsmart錄制,時間: 2009-2-27'
With Selection.Font
.Name = '仿宋_GB2312'
.Size = 12
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Selection.Font.ColorIndex = 3
End Sub
復(fù)制代碼
現(xiàn)在你可能感覺到上面這些亂七八糟的代碼會很陌生,甚至在問自己是不是來到外星人的世界,反正我當(dāng)初是這樣感覺的,但不要為此感到害怕,將來我們會慢慢熟悉他,就像閉上眼睛也能準(zhǔn)確地將那個又大又紅的蘋果送到自己的嘴里。
5、小結(jié)
到這里,從錄制宏到使用宏我們對宏應(yīng)該有一個簡單的了解了吧?宏實際上就是一個簡單的VBA的Sub過程,它保存在文件里,以Sub開頭,以End Sub結(jié)尾,執(zhí)行時就從第一句逐句執(zhí)行,直到End Sub結(jié)束。(現(xiàn)在不懂沒關(guān)系,以后會慢慢明白的)就像武術(shù)運動員練的那段套路動作,總是抱拳,扎馬,出拳然后踢腿,永遠(yuǎn)不可能沒有扎馬就出拳,沒有出拳就踢腿。我們今天錄的這段宏也總是先設(shè)字體,再改字體顏色,這種順序永遠(yuǎn)不會亂。
說完這些,你是不是感覺這些操作古板得沒有生氣?是不是感覺這宏的操作不能滿足自己的需求?
我想告訴你的是,宏代碼絕不等于VBA,它只是VBA里最簡單的運用,盡管許多Excel過程都可以用錄制宏來完成,但是通過宏代碼還是無法完成許多的工作,如:
?。?)不可以建立公式,函數(shù);
?。?)沒有判斷或循環(huán)的功能;
(3)不能進行人機交互;
?。?)無法顯示用戶窗體;
(5)無法與其他軟件或文件進行互動。
…….
所以,你看了上面的內(nèi)容后千萬不要以為宏就是VBA了,更不要以為自己已經(jīng)會VBA了,事實上是你才剛沾上VBA的邊,或者說連邊都沒沾上,甚至連宏今天我們都只是作了簡單的介紹。
路漫漫其修遠(yuǎn)兮,還等著我們上下去求索,路在腳下,武林高手總是從練習(xí)簡單的套路動作開始,不要厭倦扎馬的單調(diào),靜下心多練練,這會是你以后練習(xí)武功招式的一個基礎(chǔ),孔子老人家說了,要溫故而知新,記得復(fù)習(xí)鞏固,不要學(xué)了后面忘了前面,到下次再見面時候你什么都忘記了,好了,今天就到這里,讓我們一起加油~~~~
聯(lián)系客服