本帖最后由 gdqyboy 于 2017-6-1 08:08 編輯
[原創(chuàng)]學(xué)會VBA,早點把家回(分享1)
學(xué)習(xí)VBA的好處
清風(fēng)本人長期從事財務(wù)工作,每天都必須使用Excel處理和分析各種各樣的數(shù)據(jù)。但清風(fēng)卻經(jīng)常被大量的Excel數(shù)據(jù)處理操作所折騰,為此而加班加點。例如,每個月為員工制作工資條時,我們通常是采用最笨拙的方法:預(yù)先把工資條的表頭模板做好,然后再一個個的復(fù)制員工工資數(shù)據(jù)到模板去。一個員工復(fù)制一次,上百人可要復(fù)制上百次,同樣的操作卻像在做活塞運動一樣,來回反復(fù)的復(fù)制粘貼,耗費大量的時間。面對著這樣的工作效率心里實在香菇和藍瘦。
為擺脫這樣的痛苦日子,清風(fēng)痛下決心學(xué)習(xí)了Excel VBA。它可以解決我們對大量數(shù)據(jù)重復(fù)操作的煩惱,可以讓你的工作效率得到空前的提高,可以讓你的加班成為過去式,可以批量執(zhí)行你的操作任務(wù),可以讓復(fù)雜的操作簡單化,還可以開發(fā)Excel不具備的功能以及開發(fā)一些工作上實用的小程序。那些需要幾小時甚至幾天才能完成的操作,在VBA眼里只是瞬間功夫的事情;利用VBA,你只需點擊一下鼠標,Excel的數(shù)據(jù)操作都以秒殺的速度完成。利用VBA,你可以忙里偷個閑來好好享受一杯清茶,數(shù)據(jù)的處理就讓它為你代勞吧!
在這里,我把自己的VBA學(xué)習(xí)心得分享給大家,希望它能幫助日常需要處理大量數(shù)據(jù)的你,讓你的工作效率也有所提高,早點做完把家回。
什么是VBA
VBA它到底是個神馬浮云?別急,下面清風(fēng)慢慢為你道來:VBA是“Visual Basic for Applications”的縮寫,通俗地說就是通過VB語言對程序的應(yīng)用控制,它是微軟公司開發(fā)出來在應(yīng)用程序中執(zhí)行自動化(OLE)任務(wù)的編程語言?!癊xcel VBA”就是VB語言在Excel的應(yīng)用控制,它稱作是EXCEL的“遙控器”,可以實現(xiàn)Excel程序的自動化操作。微軟公司從1994年發(fā)行的Excel 5.0版本開始已經(jīng)具備VBA的功能,經(jīng)過多年的升級更新,我們現(xiàn)在所使用的Excel2010/2013/2016的VBA功能已是相當(dāng)強大成熟了。
貼近VBA初體驗
VBA它真有那么??梢运查g完成批量操作嗎?你是不是對VBA的高效操作有所質(zhì)疑了?好吧,下面我們以從C盤下的“數(shù)據(jù)明細”TXT文件中導(dǎo)入數(shù)據(jù)到Excel的操作來體驗一下VBA的神速。
打開Excel,這時你會感覺無從下手。別怕,我們可以先用【錄制宏】的方法讓Excel自動生成VBA代碼。那什么是宏呢?別把它想復(fù)雜了,我們可以理解為宏就是VBA代碼的集合。宏可以通過錄制的方法得到,也可以通過手工編寫VBA代碼得到。在剛開始學(xué)習(xí)VBA時,通過錄制宏生成VBA代碼是一個非常好的方法。錄制宏就是把對Excel的操作記錄下來并保存為VBA代碼,有了代碼之后再運行宏就可以讓電腦自動為我們處理了。正如英語老師在上課教學(xué)生讀單詞那樣,天天都用口念會覺得枯燥乏味。如果把單詞的讀音錄下來再播放自然一勞永逸了,重復(fù)的念單詞動作讓錄音機代替既省心又省力。
在Excel 2010/2013/2016的默認界面中,【錄制宏】的按鈕是沒有出現(xiàn)在功能區(qū)菜單里的,我們得先把它找出來。依次點擊【文件】-【選項】-【自定義功能區(qū)】,然后在界面的右邊選項中找到【開發(fā)工具】,在它前面的框內(nèi)打上勾,最后點右下角的【確定】,如圖1所示。
(圖1)
返回Excel界面后你會發(fā)現(xiàn),在功能區(qū)中比原來多增加了一個【開發(fā)工具】的成員,如圖2所示。
點擊【開發(fā)工具】后,【錄制宏】的功能按鈕已出現(xiàn)在我們眼前(如圖3所示)。
等不及了嗎?請高抬你的貴手,點擊【錄制宏】,這時彈出一個【錄制宏】的對話框,如圖4所示。
(圖4)
1.
在“宏名”中設(shè)置宏的名稱,方便以后使用,也可以不設(shè)置直接使用系統(tǒng)默認的名字。
2.
在快捷鍵中設(shè)置調(diào)用宏的快捷方式,這里我們設(shè)定為“ctrl+q”,也就是說以后按這個快捷鍵即可啟用宏了。也可以跳過這一步不作設(shè)置。
3.
最后按“確定”完成。
這時,你注意到了嗎?原來的【錄制宏】變成了【停止錄制】。這就是告訴我們現(xiàn)在已經(jīng)處于錄制宏的狀態(tài),你對Excel所做的操作都會被錄制下來并保存為VBA代碼(如圖5所示)。
(圖5)
好,不哆嗦了,那就開始讓宏錄制我們導(dǎo)入數(shù)據(jù)的操作吧:點擊功能區(qū)上的【數(shù)據(jù)】-【自文本】(如圖6所示)。
(圖6)
選擇C盤下的“數(shù)據(jù)明細”TXT文件,點擊【導(dǎo)入】(如圖7所示)。
(圖7)
出現(xiàn)圖8的界面,繼續(xù)點擊【下一步】
(圖8)
進入圖9的提示框,繼續(xù)點擊【下一步】
(圖9)
在txt文件中,因為導(dǎo)入的數(shù)字較長,為了能正常顯示,我們把它設(shè)置為文本格式,然后點擊右下角的【完成】(如圖10所示)。
(圖10)
把數(shù)據(jù)從txt文件中導(dǎo)入到當(dāng)前工作表的A1單元格,按默認的選項不變,點擊【確定】(如圖11所示)。
(圖11)
大功告成,一個從C盤下的txt文件導(dǎo)入數(shù)據(jù)的操作已經(jīng)完成,點擊【開發(fā)工具】-【停止錄制】。以上對Excel的操作,宏都已經(jīng)記錄下來并且保存為VBA代碼了。下面我們來PK一下VBA完成以上的數(shù)據(jù)導(dǎo)入操作到底有多神速,首先把剛才導(dǎo)入到工作表的數(shù)據(jù)清除。別眨眼了,按下在錄制宏時設(shè)置的【ctrl+q】快捷方式,傻眼了嗎?數(shù)據(jù)以神一般的速度導(dǎo)入到工作表來了。通常我們以繁復(fù)的操作才能處理的數(shù)據(jù),在VBA眼里居然是瞬間完成?,F(xiàn)在你體驗到VBA這種壓倒性速度的強勢了嗎?如果你還是沒感覺,那多體驗幾次,慢慢感受那種不可思議的驚訝吧!
在上面我們是通過按組合快捷鍵來調(diào)用宏的,但如果錄制的宏多了,豈不是要記下每個宏的快捷方式,有點不靠譜吧。來,我們看看調(diào)用宏的其他的方法:點擊【開發(fā)工具】-【插入】,在【表單控件】中找到“按鈕”這個窗體控件并單擊它,如圖12所示。
(圖12)
這時,你會發(fā)現(xiàn)鼠標變成了“+”形狀,我們在工作表界面任意位置上按著鼠標左鍵并拖動畫一個隨意大小的矩形按鈕,松開左鍵彈出一個如圖13所示的對話框。在這里,我們選擇剛才已經(jīng)錄制的【宏1】,然后點擊【確定】。
(圖13)
回到工作表界面后點擊任意單元格,把鼠標移到按鈕上,指針變成了手指形狀(如圖14所示)。
這表示,剛才所繪制的這個按鈕已經(jīng)指定了對應(yīng)的宏,只要點擊它即可調(diào)用運行宏了。等等…先別按,如果把按鈕的文字修改一下是不是就更完美呢?就如我們平時乘坐電梯那樣,按鈕上注明了對應(yīng)樓層的數(shù)字,上哪個樓層就按下相對應(yīng)的號碼按鈕,電梯就開始運行到哪個樓層。好,下面為它起個名字方便我們對宏使用:右擊按鈕,在彈出的菜單中點擊【編輯文字】,如圖15所示。
(圖15)
修改按鈕原來的文字,給它起個與宏操作相關(guān)的名字,修改完之后單擊任意單元格,如修改為“導(dǎo)入數(shù)據(jù)”(圖16所示)。
(圖16)
現(xiàn)在,通過按鈕的文字內(nèi)容就可以清晰的知道它調(diào)用的宏是執(zhí)行什么操作了,既不用絞盡腦汁記下它的快捷方式,也可以讓人一目了然,可為是一舉兩得。有點不耐煩了吧,輕輕點擊“導(dǎo)入數(shù)據(jù)”按鈕,VBA再次讓你尖叫。心里是不是在沾沾自喜了?
如果你覺得使用按鈕不夠美觀,我們還可以使用圖片、剪貼畫等來指定宏運行。插入圖片后右擊圖片,在彈出的菜單中選擇【指定宏】來指定一個要調(diào)用的宏(如圖17所示)。方法與上面為按鈕指定宏的操作相同,大家可以慢慢研究學(xué)習(xí)……
(圖17)
錄制宏完成后,記得要把工作簿保存哦。注意了:在2007以上版本的Excel中,當(dāng)我們保存帶有宏的工作簿時,必須在【保存類型】的下拉框中選擇【Excel啟用宏的工作簿】(文件后綴名為“xlsm”),或者選擇【Excel97-203工作簿】(文件后綴名為“xls”)。否則,即使工作簿保存了但VBA代碼內(nèi)容卻不會
被保存,我們所錄制的宏成了竹籃打水一場空(如圖18所示)。
(圖18)
這次清風(fēng)為大家分享了如何錄制一個宏來體驗VBA高效處理數(shù)據(jù)的神奇,讓大家認識Excel的這個神秘終極大殺器并對它有個基本的概念了解。為了更好掌握錄制宏的方法,大家可以嘗試錄制其他的Excel操作。例如平時經(jīng)常接觸的重復(fù)復(fù)制、打開文件、插入行列等等,錄制完成后調(diào)用宏感受VBA的威力。
VBA其實并不難,平時學(xué)習(xí)的時候要多練習(xí)多動腦筋多提問。不管是函數(shù)還是透視表或者其他方面,光看了不去操作練習(xí)是很難真正掌握的。來,相信自己一定能學(xué)會,咱們一起擼起袖子來努力吧!
下次清風(fēng)和大家繼續(xù)學(xué)習(xí)更多的VBA知識,記得來喲……
補充內(nèi)容 (2017-6-3 11:34):