幾句小白都會(huì)用的 VBA 代碼,讓 Excel 效率上一個(gè)臺(tái)階

[日期:2024-11-26] 作者:wayy 次瀏覽 [字體: ]

幾句小白都會(huì)用的 VBA 代碼,讓 Excel 效率上一個(gè)臺(tái)階

秋葉Excel 2024/11/2 12:12:04 責(zé)編:夢(mèng)澤評(píng)論:0

原文標(biāo)題:《幾句小白都會(huì)用的 VBA 代碼,讓工作效率提升百倍?。ǜ匠S么a文件)》


相信不少小伙伴一聽(tīng)到 VBA,立馬紛紛后退,將它視作洪水猛獸。


其實(shí),VBA 代碼并不可怕,只是因?yàn)槲覀兘佑|得不多不了解,又總聽(tīng)到厲害的人說(shuō)起它,所以才覺(jué)得它又神秘又可怕。


而今天,咱們就來(lái)揭開(kāi) VBA 代碼的神秘面紗,并且介紹幾個(gè)常用的簡(jiǎn)單代碼,能夠讓大家非常方便地運(yùn)用到工作中去,大大提升工作效率。


那首先就跟著我了解下相關(guān)操作的基礎(chǔ)常識(shí)吧~


1、認(rèn)識(shí) VBA 編輯器

大家都知道 Excel 中數(shù)據(jù)存放在單元格里,可你們知道 VBA 代碼要存放在什么地方?


答案就是 VBA 編輯器,如下圖所示:


幾句小白都會(huì)用的 VBA 代碼,讓 Excel 效率上一個(gè)臺(tái)階


那要如何打開(kāi) VBA 編輯器呢?下面教大家三種方法。


▋01 通過(guò)選項(xiàng)卡打開(kāi)


單擊【開(kāi)發(fā)工具】選項(xiàng)卡,找到【Visual Basic】命令,單擊即可進(jìn)入 VBA 編輯器,如下圖所示:


幾句小白都會(huì)用的 VBA 代碼,讓 Excel 效率上一個(gè)臺(tái)階


如果菜單欄里沒(méi)有【開(kāi)發(fā)工具】選項(xiàng)卡,按照這個(gè)步驟把它調(diào)出來(lái) —— 點(diǎn)擊【文件】-【選項(xiàng)】,然后點(diǎn)擊【自定義功能區(qū)】,在「主選項(xiàng)卡」中勾選「開(kāi)發(fā)工具」,點(diǎn)擊【確定】即可。


幾句小白都會(huì)用的 VBA 代碼,讓 Excel 效率上一個(gè)臺(tái)階


▋02 通過(guò)右鍵工作表標(biāo)簽查看代碼打開(kāi)


右鍵單擊任意一個(gè)工作表標(biāo)簽,在彈出的菜單中單擊【查看代碼】,即可進(jìn)入 VBA 編輯器,如下圖所示:


幾句小白都會(huì)用的 VBA 代碼,讓 Excel 效率上一個(gè)臺(tái)階


▋03 通過(guò)快捷鍵打開(kāi)


在任意一個(gè)工作表中,使用快捷鍵【Alt+F11】,即可進(jìn)入 VBA 編輯器,不過(guò)有些筆記本可能需要再同時(shí)按下【Fn】鍵才可以。


2、如何運(yùn)行 VBA 代碼

我們大多數(shù)的 VBA 代碼都是存放在 VBA 編輯器的模塊中,那模塊又是如何添加的呢?


在左側(cè)的工程資源管理器中,右鍵單擊【Thisworkbook】或者上面的任意一個(gè)工作表的標(biāo)簽均可彈出一個(gè)菜單,在菜單中單擊【插入】,在彈出的下一級(jí)菜單中選擇【模塊】,單擊即可插入 1 個(gè)模塊,如下圖所示:


幾句小白都會(huì)用的 VBA 代碼,讓 Excel 效率上一個(gè)臺(tái)階


我們知道存放 VBA 代碼的地方了,那如何運(yùn)行 VBA 代碼呢?


單擊【開(kāi)發(fā)工具】選項(xiàng)卡,找到【宏】命令,單擊即可,如下圖所示:


幾句小白都會(huì)用的 VBA 代碼,讓 Excel 效率上一個(gè)臺(tái)階


在彈出的【宏】對(duì)話框中可以看到我們已經(jīng)寫(xiě)好的 VBA 宏的名稱,單擊選中要執(zhí)行的宏名稱,單擊【執(zhí)行】即可執(zhí)行 VBA 代碼了,如下圖所示:


幾句小白都會(huì)用的 VBA 代碼,讓 Excel 效率上一個(gè)臺(tái)階


3、常用的 VBA 代碼

相信現(xiàn)在你已經(jīng)掌握了 VBA 代碼相關(guān)的基礎(chǔ)操作,那接下來(lái)我就給大家貼上幾個(gè)常用的簡(jiǎn)單 VBA 代碼~


只有短短幾行,但卻能幫我們節(jié)約不少時(shí)間!


批量保護(hù) / 取消保護(hù)工作表


有時(shí)候?yàn)榱朔乐箘e人誤操作,需要給工作表加保護(hù)密碼,但是工作表數(shù)量太多,一個(gè)個(gè)地設(shè)置保護(hù)也是個(gè)體力活兒,這個(gè)時(shí)候如果用了下面的 VBA 代碼就方便快捷多了!


Sub 保護(hù)工作表()

Dim i As Long

For i = 1 To Sheets.Count

  Sheets(i).Protect "123"

Next

End Sub

給大家大致解釋下代碼 ——


? 第一行是定義宏的名稱,比如這個(gè)宏的名稱叫做「保護(hù)工作表」,最后一行是結(jié)束,這兩行是固定用法。


? 第二行 Dim 是在定義變量的類(lèi)型,這里是定義變量 i 為長(zhǎng)整數(shù)型。


? 第三行和第五行是 For Next 循環(huán)的用法,Sheets.Count 是指工作表的個(gè)數(shù),F(xiàn)or i = 1 To Sheets.Count 表示從第一個(gè)表循環(huán)到最后一個(gè)表,都執(zhí)行 For 與 Next 中間的代碼。


? 第四行是主要的功能代碼,Sheets (i).Protect 通過(guò)變量 i 的變化,對(duì)逐個(gè)工作表進(jìn)行保護(hù),后面的字符串 123 是密碼,密碼可以根據(jù)需要自己修改。


那取消保護(hù)工作表的代碼又該如何寫(xiě)呢?


其實(shí),宏名稱改一下,再修改第四行的代碼就可以了!修改后的代碼如下:


Sub 取消保護(hù)工作表()

Dim i As Long

For i = 1 To Sheets.Count

  Sheets(i).Unprotect "123"

Next

End Sub

批量重命名工作表


有時(shí)我們建立了很多工作表,工作表名稱是 Sheet1、Sheet2 這種,這讓我們查看數(shù)據(jù)時(shí)很難分清,需要重新命名工作表。一個(gè)一個(gè)工作表來(lái),估計(jì)又要忙活一會(huì)兒了!


比如我們要把 Sheet2 工作表及后面所有的工作表名稱都修改為每個(gè)工作表中 C2 單元格的值,也就是將工作表名稱修改為部門(mén)名稱,方便查看每個(gè)部門(mén)的情況。


幾句小白都會(huì)用的 VBA 代碼,讓 Excel 效率上一個(gè)臺(tái)階


我們的 VBA 代碼又派上用場(chǎng)了:


Sub 修改工作表名稱()

Dim i As Long

For i = 2 To Sheets.Count

  Sheets(i).Name = Sheets(i).Range("C2")

Next

End Sub

給大家大致解釋下代碼 ——


? 第一行、第二行、第五行及第六行,與前面代碼功能一致,在此不再贅述。


? 第三行仍為循環(huán),只是改為從第二個(gè)工作表開(kāi)始循環(huán),所以使用了 For i = 2 開(kāi)始,直到最后一個(gè)工作表。


? 第四行是關(guān)鍵的修改工作表名稱的代碼,Sheets (i).Name 代表這個(gè)工作表的名稱,等于這個(gè)工作表中 C2 單元格的值。


4、小心這些「坑」

? 保存時(shí)注意文件類(lèi)型


如果你的文件擴(kuò)展名為「.xlsx」,添加代碼后,文件在保存時(shí)會(huì)有下圖所示的提示:


幾句小白都會(huì)用的 VBA 代碼,讓 Excel 效率上一個(gè)臺(tái)階


此時(shí)要點(diǎn)擊【否】,保存文件格式的時(shí)候選擇「Excel 啟用宏的工作簿 (*.xlsm)」,然后單擊【保存】即可。


幾句小白都會(huì)用的 VBA 代碼,讓 Excel 效率上一個(gè)臺(tái)階


如果選擇了【是】,文件關(guān)閉后再打開(kāi)時(shí)將丟失 VBA 代碼。


? 打開(kāi)有宏代碼的工作簿


如下圖所示,當(dāng)打開(kāi)帶有宏代碼的工作簿時(shí),會(huì)有安全警告(宏已被禁用),這時(shí)需要單擊【啟用內(nèi)容】來(lái)啟用宏,才可以運(yùn)行相關(guān)的宏代碼。


幾句小白都會(huì)用的 VBA 代碼,讓 Excel 效率上一個(gè)臺(tái)階


如果不啟用宏,代碼將不能運(yùn)行,點(diǎn)擊運(yùn)行相關(guān)代碼時(shí)會(huì)有如下圖所示的提示:


幾句小白都會(huì)用的 VBA 代碼,讓 Excel 效率上一個(gè)臺(tái)階


5、寫(xiě)在最后

好了,VBA 從入門(mén)到幾個(gè)常用的簡(jiǎn)單代碼都教給你了,你都學(xué)會(huì)了嗎?


當(dāng)然,這些只是九牛一毛,但如果你有興趣的話,可以在掌握基礎(chǔ)之后進(jìn)行探索,或許會(huì)發(fā)現(xiàn)一座不一樣的新世界!


掌握一點(diǎn) VBA,工作效率又能提升一個(gè)臺(tái)階~


本文來(lái)自微信公眾號(hào):秋葉 Excel (ID:excel100),作者:wayy