HI,大家好,我是星光。
前面兩期分別給大家聊了什么是VBA、什么是VBE,今天再給大家聊一下如何編寫VBA代碼——看我小眼神……這事說起來可有意思了。
第一種方式:復(fù)制粘貼
聳肩攤手,說這話俺是認(rèn)真的。要知道搜羅優(yōu)秀代碼、復(fù)制粘貼化為己用是編寫程序的基本能力,是程序員不可或缺的左膀右臂,不管你是新手還是高手,天下代碼早晚都不過一個抄字——不過咱們得知道哪些能抄?哪些不能抄?哪些抄了之后必須要修改。說到這就不得不推薦一下咱們的VBA常用代碼合集了,隨時用隨時抄,公眾號戳【菜單】→【資源禮包】→【VBA常用代碼】即可獲取。
第2種方式:自己寫
自己寫的意思就是打開VBE,在模塊等對象的代碼窗口內(nèi)自己編寫VBA代碼(這是一句廢話)。復(fù)制粘貼固然屬于天下無雙的神技,但并不適合細(xì)節(jié)迥異的具體問題處理,所以至少你得知道代碼的邏輯是否正確;結(jié)構(gòu)是否合理;局部的代碼應(yīng)該如何修改——而有些時候,修改別人的代碼,還不如自己重新編寫來的爽快。
錄制宏的意思是讓勤快又善良的Excel幫咱們自動寫代碼。對于VBA初學(xué)者來說,最煩惱的事情莫過于Excel的對象太多了,每個對象的屬性和方法又太多了,層層疊疊,頭大的讓人記不住——其實(shí)完全沒必要記住,想要知道某個對象的屬性和方法?根據(jù)需求錄制一段宏,查看下Excel自動生成的代碼就一目了然了。
比如說,你想要知道如何使用VBA代碼設(shè)置單元格邊框線以及標(biāo)題行文字加粗并居中顯示,可以使用以下操作。
步驟1:在【開發(fā)工具】選項(xiàng)卡下單擊【錄制宏】命令,打開【錄制宏】對話框。根據(jù)需要在【錄制宏】對話框的【宏名】文本框中輸入宏的名稱,當(dāng)然也可以保持默認(rèn)值不變,然后單擊【確定】按鈕。
步驟2:設(shè)置A1:D10單元格區(qū)域的邊框線為所有邊框線,將A1:D1標(biāo)題行的字體加粗并居中顯示。最后在【開發(fā)工具】選項(xiàng)卡下單擊【停止錄制】命令,結(jié)束錄制宏。
步驟3:按<ALT+F11>快捷鍵打開VBE窗口,在模塊中即可看到Excel自動生成的VBA代碼。
以上代碼看似繁雜混亂,但如果您已有一定的VBA編程基礎(chǔ),還是不難從中分辨出哪些代碼是設(shè)置邊框線,哪些代碼是設(shè)置字體加粗和居中顯示的;而我們只需要復(fù)制相關(guān)代碼,稍加修改即可直接使用。
當(dāng)然,錄制宏的作用不止如此。
有一些朋友,出于各種原因無意深入學(xué)習(xí)VBA,卻又希望借助VBA提升工作效率,甚至實(shí)現(xiàn)數(shù)據(jù)處理自動化——當(dāng)然也是可以的,這就是民間流傳的錄制宏+函數(shù)公式的老男孩組合。
借助錄制宏,我們可以使函數(shù)公式自動輸入,進(jìn)而實(shí)現(xiàn)數(shù)據(jù)處理的自動化。
我舉一個簡單的小栗子。
如下圖所示,有兩張表,一張表是數(shù)據(jù)源,一張表是查詢表。咱們需要制作一個數(shù)據(jù)查詢的模版;在查詢表的B列,計算A列人員對應(yīng)的考試成績——你會怎么處理呢?
步驟1:在【開發(fā)工具】選項(xiàng)卡下單擊【錄制宏】,打開【錄制宏】對話框,在【宏名】文本框中輸入內(nèi)容:我的查詢,并【確定】。步驟2:在B2單元格輸入以下函數(shù)公式:
=IFERROR(VLOOKUP(A2,成績表!A:B,2,0),'')
向下復(fù)制填充到B2:B5000單元格區(qū)域;然后復(fù)制B2:B5000單元格區(qū)域,使用選擇性粘貼為數(shù)值的方式,將公式計算結(jié)果粘貼為數(shù)值,最后停止錄制宏。
如此一來,Excel就自個生成了一段代碼,這段代碼的作用是自動使用VLOOKUP函數(shù)查詢A2:A5000單元格范圍內(nèi)的人名在成績表中的考試成績。于是新的問題來了——如何運(yùn)行這段VBA代碼?致安,愿你不再因Excel而煩惱,我是星光,揮手再見。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報。