- 用ChatGPT與VBA一鍵搞定Excel
- Excel Home編著
- 1308字
- 2025-03-28 14:58:42
1.6 錄制宏代碼
1.6.1 錄制新宏
對于VBA初學(xué)者來說,最困難的事情往往是想要實(shí)現(xiàn)一個(gè)功能,卻不知道代碼從何寫起,錄制宏可以很好地幫助大家。錄制宏作為Excel中一個(gè)非常實(shí)用的功能,對于廣大用戶來說是不可多得的學(xué)習(xí)幫手。
在日常工作中經(jīng)常需要在Excel 中重復(fù)執(zhí)行某些任務(wù),這時(shí)可以通過錄制一個(gè)宏來快速地自動(dòng)執(zhí)行這些任務(wù)。
按照如下步驟操作,可以在Excel中錄制一個(gè)新宏。
單擊【開發(fā)工具】→【錄制宏】按鈕,在彈出的【錄制宏】對話框中可以設(shè)置宏名(FormatTitle)、快捷鍵(Ctrl+Shift+Q)、保存位置和說明,單擊【確定】按鈕關(guān)閉【錄制宏】對話框,將開始錄制一個(gè)新宏,如圖1-15所示。

圖1-15 在Excel中開始錄制一個(gè)新宏
錄制宏時(shí)Excel提供的默認(rèn)名稱為“宏”加數(shù)字序號(在Excel英文版本中為“Macro” 加數(shù)字序號),如“宏1”“宏2”等,其中的數(shù)字序號由Excel自動(dòng)生成,通常情況下數(shù)字序號依次增大。
宏的名稱可以包含英文字母、中文字符、數(shù)字和下劃線,但是第一個(gè)字符必須是英文字母或中文字符,如“1Macro”不是合法的宏名稱。為了使宏代碼具有更好的通用性,盡量不要在宏名稱中使用中文字符,否則在非中文版本的Excel中應(yīng)用該宏代碼時(shí),可能會(huì)出現(xiàn)兼容性問題。除此之外,還應(yīng)該盡量使用能夠說明用途的宏名稱,這樣有利于日后的使用、維護(hù)與升級。
注意
如果宏名稱為英文字母加數(shù)字的形式,那么需要注意不可以使用與單元格引用相同的字符串,即“A1”至“XFD1048576”不可以作為宏名稱使用。例如,在如圖1-15所示的【錄制宏】對話框中輸入“ABC168”作為宏名,單擊【確定】按鈕,將出現(xiàn)如圖1-16所示的錯(cuò)誤提示框。但是“ABC”或“ABC1048577”就是合法的宏名稱,因?yàn)镋xcel工作表中不可能出現(xiàn)引用名稱為“ABC”或“ABC1048577”的單元格。

圖1-16 無效的宏名稱
開始錄制宏之后,用戶可以在Excel中進(jìn)行操作,其中絕大部分操作將被記錄為宏代碼。
在開始錄制宏之后,功能區(qū)中的【錄制宏】按鈕將變成【停止錄制】按鈕,如圖1-17所示。

圖1-17 【停止錄制】按鈕
操作結(jié)束后,單擊【停止錄制】按鈕,如圖1-18所示,將停止本次錄制宏。

圖1-18 停止錄制宏
單擊【開發(fā)工具】選項(xiàng)卡【代碼】組中的【Visual Basic】按鈕或直接按<Alt+F11>組合鍵將打開VBE (Visual Basic Editor,即VBA集成的代碼編輯器)窗口,在代碼窗口中可以查看剛才錄制的宏代碼,在第2章中將詳細(xì)講述VBE中主要窗口的使用方法與功能。
通過錄制宏,可以看到整個(gè)操作過程所對應(yīng)的代碼,請注意這只是一個(gè)“半成品”,經(jīng)過必要的修改才能得到更高效、更通用的代碼。
1.6.2 錄制宏的局限性
Excel的錄制宏功能可以“忠實(shí)”地記錄Excel中的操作,但是也有其本身的局限性,主要表現(xiàn)在以下幾個(gè)方面。
錄制宏產(chǎn)生的代碼不一定完全等同于用戶的操作。例如,用戶設(shè)置保護(hù)工作表時(shí)輸入的密碼就無法記錄在代碼中;設(shè)置工作表控件的屬性也無法產(chǎn)生相關(guān)的代碼。這樣的例子還有很多,這里不逐一羅列。
一般來說,錄制宏產(chǎn)生的代碼可以實(shí)現(xiàn)相關(guān)功能,但往往并不是最優(yōu)代碼,錄制的代碼中經(jīng)常會(huì)有很多冗余代碼。例如,用戶選中某個(gè)單元格或滾動(dòng)屏幕之類的操作,都將被記錄為代碼,刪除這些冗余代碼后,宏代碼將可以更高效地運(yùn)行。
通常錄制宏產(chǎn)生的代碼執(zhí)行效率不高,其原因主要有兩點(diǎn):第一,代碼中大量使用Activate和Select等方法,影響了代碼的執(zhí)行效率,在實(shí)際應(yīng)用中需要進(jìn)行相應(yīng)的優(yōu)化;第二,錄制宏無法產(chǎn)生控制程序流程的代碼,如循環(huán)結(jié)構(gòu)、判斷結(jié)構(gòu)等。
- 3ds Max & Unreal Engine 4:VR三維建模技術(shù)實(shí)例教程(附VR模型)
- 中文版Premiere Pro CC實(shí)用教程
- 圖解Word 2007圖文排版與辦公應(yīng)用
- Excel 2016入門與提高
- 綁定的藝術(shù):Maya高級角色骨骼綁定技法(第2版)
- 計(jì)算機(jī)圖形圖像處理Photoshop CS6項(xiàng)目教程
- Photoshop CS6標(biāo)準(zhǔn)教程(全視頻微課版)
- 好用,Excel數(shù)據(jù)處理高手
- 從零開始:Dreamweaver CS6中文版基礎(chǔ)培訓(xùn)教程
- 3ds Max-Photoshop游戲模型制作全攻略
- AutoCAD 2019中文版完全自學(xué)手冊(標(biāo)準(zhǔn)版)
- UG NX 12.0中文版自學(xué)視頻教程
- 手把手教你學(xué)成Excel高手
- AutoCAD 2010 建筑設(shè)計(jì)與制作技能基礎(chǔ)教程
- Photoshop移動(dòng)UI設(shè)計(jì)