小白都能學(xué)會的VBA代碼,一次性教給你(vba代碼大全入門)
接昨天的自定義函數(shù),今天就教大家?guī)讉€常用的 VBA 代碼!
相信不少小伙伴一聽到 VBA,立馬紛紛后退,將它視作洪水猛獸。
其實(shí),VBA 代碼并不可怕,只是因?yàn)槲覀兘佑|得不多不了解,又總聽到厲害的人說起它,所以才覺得它又神秘又可怕。
而今天,小 E 就要來揭開 VBA 代碼的神秘面紗,并且介紹幾個常用的簡單代碼,能夠讓大家非常方便地運(yùn)用到工作中去,大大提升工作效率。
那首先就跟著小 E 了解下相關(guān)操作的基礎(chǔ)常識吧~
– 1 –
認(rèn)識 VBA 編輯器
大家都知道 Excel 中數(shù)據(jù)存放在單元格里,可你們知道 VBA 代碼要存放在什么地方?
答案就是 VBA 編輯器,如下圖所示:
那要如何打開 VBA 編輯器呢?下面教大家三種方法。
方法一
通過選項(xiàng)卡打開
單擊【開發(fā)工具】選項(xiàng)卡,找到【Visual Basic】命令,單擊即可進(jìn)入 VBA 編輯器,如下圖所示:
如果菜單欄里沒有【開發(fā)工具】選項(xiàng)卡,按照這個步驟把它調(diào)出來——點(diǎn)擊【文件】-【選項(xiàng)】,然后點(diǎn)擊【自定義功能區(qū)】,在「主選項(xiàng)卡」中勾選「開發(fā)工具」,點(diǎn)擊【確定】即可。
方法二
通過右鍵工作表標(biāo)簽查看代碼打開
右鍵單擊任意一個工作表標(biāo)簽,在彈出的菜單中單擊【查看代碼】,即可進(jìn)入 VBA 編輯器,如下圖所示:
方法三
通過快捷鍵打開
在任意一個工作表中,使用快捷鍵【Alt F11】,即可進(jìn)入 VBA 編輯器,不過有些筆記本可能需要再同時按下【Fn】鍵才可以。
– 2 –
如何運(yùn)行 VBA 代碼
我們大多數(shù)的 VBA 代碼都是存放在 VBA 編輯器的模塊中,那模塊又是如何添加的呢?
在左側(cè)的工程資源管理器中,右鍵單擊【Thisworkbook】或者上面的任意一個工作表的標(biāo)簽均可彈出一個菜單,在菜單中單擊【插入】,在彈出的下一級菜單中選擇【模塊】,單擊即可插入 1 個模塊,如下圖所示:
我們知道存放 VBA 代碼的地方了,那如何運(yùn)行 VBA 代碼呢?
單擊【開發(fā)工具】選項(xiàng)卡,找到【宏】命令,單擊即可,如下圖所示:
在彈出的【宏】對話框中可以看到我們已經(jīng)寫好的 VBA 宏的名稱,單擊選中要執(zhí)行的宏名稱,單擊【執(zhí)行】即可執(zhí)行 VBA 代碼了,如下圖所示:
– 3 –
常用的 VBA 代碼
相信現(xiàn)在你已經(jīng)掌握了 VBA 代碼相關(guān)的基礎(chǔ)操作,那接下來小 E 就給大家貼上幾個常用的簡單 VBA 代碼~
只有短短幾行,但卻能幫我們節(jié)約不少時間!
批量保護(hù)/取消保護(hù)工作表
有時候?yàn)榱朔乐箘e人誤操作,需要給工作表加保護(hù)密碼,但是工作表數(shù)量太多,一個個地設(shè)置保護(hù)也是個體力活兒,這個時候如果用了下面的 VBA 代碼就方便快捷多了!
Sub 保護(hù)工作表()Dim i As LongFor i = 1 To Sheets.Count Sheets(i).Protect “123”NextEnd Sub
給大家大致解釋下代碼——
? 第一行是定義宏的名稱,比如這個宏的名稱叫做「保護(hù)工作表」,最后一行是結(jié)束,這兩行是固定用法。? 第二行 Dim 是在定義變量的類型,這里是定義變量 i 為長整數(shù)型。? 第三行和第五行是 For Next 循環(huán)的用法,Sheets.Count 是指工作表的個數(shù),F(xiàn)or i = 1 To Sheets.Count 表示從第一個表循環(huán)到最后一個表,都執(zhí)行 For 與 Next 中間的代碼。? 第四行是主要的功能代碼,Sheets(i).Protect 通過變量 i 的變化,對逐個工作表進(jìn)行保護(hù),后面的字符串 123 是密碼,密碼可以根據(jù)需要自己修改。
那取消保護(hù)工作表的代碼又該如何寫呢?
其實(shí),宏名稱改一下,再修改第四行的代碼就可以了!修改后的代碼如下:
Sub 取消保護(hù)工作表()Dim i As LongFor i = 1 To Sheets.Count Sheets(i).Unprotect “123”NextEnd Sub
批量重命名工作表
有時我們建立了很多工作表,工作表名稱是 Sheet1、Sheet2 這種,這讓我們查看數(shù)據(jù)時很難分清,需要重新命名工作表。一個一個工作表來,估計(jì)又要忙活一會兒了!
比如我們要把 Sheet2 工作表及后面所有的工作表名稱都修改為每個工作表中 C2 單元格的值,也就是將工作表名稱修改為部門名稱,方便查看每個部門的情況。
我們的 VBA 代碼又派上用場了:
Sub 修改工作表名稱()Dim i As LongFor i = 2 To Sheets.Count Sheets(i).Name = Sheets(i).Range(“C2”)NextEnd Sub
給大家大致解釋下代碼——
? 第一行、第二行、第五行及第六行,與前面代碼功能一致,在此不再贅述。? 第三行仍為循環(huán),只是改為從第二個工作表開始循環(huán),所以使用了 For i = 2 開始,直到最后一個工作表。? 第四行是關(guān)鍵的修改工作表名稱的代碼,Sheets(i).Name 代表這個工作表的名稱,等于這個工作表中 C2 單元格的值。
– 4 –
小心這些「坑」
? 保存時注意文件類型
如果你的文件擴(kuò)展名為「.xlsx」,添加代碼后,文件在保存時會有下圖所示的提示:
此時要點(diǎn)擊【否】,保存文件格式的時候選擇「Excel 啟用宏的工作簿(*.xlsm)」,然后單擊【保存】即可。
如果選擇了【是】,文件關(guān)閉后再打開時將丟失 VBA 代碼。
? 打開有宏代碼的工作簿
如下圖所示,當(dāng)打開帶有宏代碼的工作簿時,會有安全警告(宏已被禁用),這時需要單擊【啟用內(nèi)容】來啟用宏,才可以運(yùn)行相關(guān)的宏代碼。
如果不啟用宏,代碼將不能運(yùn)行,點(diǎn)擊運(yùn)行相關(guān)代碼時會有如下圖所示的提示:
好了,VBA 從入門到幾個常用的簡單代碼都教給你了,你都學(xué)會了嗎?
當(dāng)然小 E 知道,這些只是九牛一毛,但如果你有興趣的話,可以在掌握基礎(chǔ)之后進(jìn)行探索,或許會發(fā)現(xiàn)一座不一樣的新世界!
而后面小 E 也會陸續(xù)為大家?guī)磉\(yùn)用 VBA 解決工作問題的文章,想看的小伙伴就在文末點(diǎn)個「贊」吧!