目錄
-
什么是VBA,它有什么作用
-
VBA在哪里存放的?怎么運行的
-
什么是宏?宏和VBA有什么關系?
-
錄制一個宏
-
編寫第一個宏
一、什么是VBA,它有什么作用
VBA是一種編程語言,它依托於Office軟件,不能獨立的運行,通過VBA可以實現各種Office軟件操作的自動化。
總結下VBA的作用:
-
實現Excel中沒有提供的功能
-
提高運行速度
-
編寫自定義函數
-
實現自動化功能
-
通過插入窗體做小型管理軟件
二、VBA在哪里存放的?怎么運行的
VBA存放於Visual Basic 中:


我們這里以模塊的方式存放已經寫好的VBA代碼,我們要在自己的表格中實現下面的這段代碼:

方法一:在Visual Basic中直接運行

方法二:在表單中通過添加按鈕來關聯VBA命令

三、什么是宏?宏和VBA有什么關系?
初學Excel編程,大多數人搞不懂VBA和宏的關系,其實這兩樣是一回事。VBA是Visual Basic for Application的縮寫,通俗說就是用VB對程序進行控制。宏,即Macro,個人認為這個翻譯害了一群人,因為它把簡單的事情搞高深了。宏的背后其實也是一堆VBA代碼,只不過是由系統自動生成的。
VBA和宏既然是同一個東西,都是基於VB代碼以豐富Excel的功能。那么馬上就會引出另外的疑問。
1. 我們為什么需要宏和VBA?
2. 什么情況下我們需要宏和VBA?
3. 宏和VBA的區別是什么?
首先,我先回答第一個問題:“我們為什么需要宏和VBA?”
並非想要上綱上線,但是從宏觀的角度看,我認為,這是因為世界上不存在完美的事物,同樣也不存在完美的軟件。雖然微軟通過升級在不斷地完善Office系列軟件的功能,使其標准功能已可以滿足日常絕大部分的應用,但也逃不過這個規律。於是微軟便聰明的整合了宏和VBA到它的產品中,給用戶留下了可以自行去定義屬於自己需求的軟件的可能性(多說一句,WPS還需要繼續努力啊,在這點上還差的太遠了)。
那么,什么情況下我們需要宏和VBA呢?
形象的說,“宏”像一個機器人,VBA是用來制作宏這個“機器人”工具和零件。當我們遇到下列問題時,我們就可以想到使用它們了(可能不全):
1. 勞動強度大,重復性高的工作,比如每月報,周報等。
2.對Office本身一些功能的細節控制與完善,如數據透視表(Pivot Table)等。
3. 和其它系統的交互,如數據庫系統 。
4. ……
所有這些,我會在今后的文章中陸續講到,也希望大家持續關注。
值得注意的是,宏的錄制和VBA的編寫是需要時間的,一定要權衡是否需要做一個宏或者VBA。
最后,VBA和宏的區別是什么?
剛才已經提到了,“宏”像一個機器人,VBA是用來制作宏這個“機器人”工具和零件。如果再進一步說明,宏就像是一個錄音機或者錄像機,只是它所錄制的是你的操作自動制作一個“機器人”給你。當你需要重復操作的時候,只需要按一下啟動鍵,“機器人”就會開始干活兒,而你則可以喝茶,抽煙,喝酒,聊天, XXOO… …
聽起來很美是不是?仿佛不論你是否掌握VBA編程技巧,你都能利用宏去制造“機器人”。但是,你必須掌握VBA,這是因為:
1. 電腦不是人腦,至少目前還取代不了,有些時候一個微小的差別就會使你的宏失效,比如說文件名和文件結構的改變等。使得你盡心費力做好的宏可以被重復使用的可能性大大降低。
2. “機器人”出了故障,你必須知道怎么修。
3. “機器人”中可能會存在很多可以被其它“機器人”重復使用的“零件”,只有掌握了VBA,你才能做到自己建造“機器人”
四、錄制一個宏
點擊錄制宏

進行操作,操作結束后停止錄制宏,然后我們進入Visual Basic可以查看我們已經錄制好的宏

五、編寫第一個宏
在Visual Basic中插入新的模板,輸入,表示在B2單元格輸入abcd
1 Sub 輸入() 2 Range("b2") = "abcd" 3 End Sub
