本期的內(nèi)容是關(guān)于Excel中使用相對(duì)引用錄制宏。
我們來(lái)看一下案例:在“BPay”工作表中需要上傳并更新客戶支付的信息,而因?yàn)檫@些信息是每天都需要更新的,所以需要通過(guò)錄制一個(gè)宏來(lái)實(shí)現(xiàn)數(shù)據(jù)更新過(guò)程的自動(dòng)化;與創(chuàng)建模板時(shí)間表不同,此任務(wù)需要每次上傳完數(shù)據(jù)時(shí),都需選中當(dāng)前數(shù)據(jù)表格的空白行,如下圖所示為第9行。
在使用相對(duì)引用的過(guò)程中,如果先選中D9單元格,在點(diǎn)擊A9單元格,使用相對(duì)引用的宏會(huì)錄制下從A9至D9單元格的區(qū)域,而不僅僅是A9單元格。
以下是錄制宏的具體步驟:
1. 點(diǎn)擊“開發(fā)工具”選項(xiàng)卡,再點(diǎn)擊“使用相對(duì)引用錄制宏”。
2. 點(diǎn)擊“錄制宏”,將宏命名為“Import_Data”,并設(shè)置快捷鍵為Ctrl+Shift+I。
3. 使用快捷鍵(鍵盤)來(lái)選中第一個(gè)空白行(此處定位到A9單元格):當(dāng)前選中的是F4單元格,Ctrl+Home選中A1單元格,Ctrl+向下箭頭選中數(shù)據(jù)表格中的最后一行A8單元格,向下箭頭選中A9單元格。
4. 導(dǎo)入數(shù)據(jù):點(diǎn)擊“數(shù)據(jù)”選項(xiàng)卡,點(diǎn)擊“獲取數(shù)據(jù)”下的“傳統(tǒng)向?qū)А保c(diǎn)擊“從文本”導(dǎo)入。(這一步可根據(jù)數(shù)據(jù)導(dǎo)入的實(shí)際情況進(jìn)行調(diào)整或設(shè)計(jì),此案例中具體操作僅作演示用)
5. 在導(dǎo)入數(shù)據(jù)完成的最后一步,我們注意到數(shù)據(jù)放在A9單元格中,關(guān)于這一步,我們會(huì)在后面進(jìn)行相應(yīng)地修改。
6. 點(diǎn)擊“確定”后,數(shù)據(jù)即可導(dǎo)入到“BPay”工作表中,但是在導(dǎo)入時(shí),將文本數(shù)據(jù)中的表頭也一起導(dǎo)入進(jìn)來(lái)了。
7. 使用快捷鍵選中A9至D11單元格區(qū)域:Shift+向右箭頭,然后Shift+向下箭頭。
8. 選中需要?jiǎng)h除的區(qū)域后,點(diǎn)擊“開始”選項(xiàng)卡下的“刪除”按鈕。
9. 點(diǎn)擊“開發(fā)工具”選項(xiàng)卡,再點(diǎn)擊“停止錄制”。
10. 錄制好的宏“Import_Data”有兩個(gè)小問(wèn)題:一是數(shù)據(jù)導(dǎo)入時(shí)放在了A9單元格中,二是我們需要在導(dǎo)入數(shù)據(jù)時(shí)數(shù)據(jù)的文本名稱需要更具靈活性,而不總是導(dǎo)入相同名稱的文件。
點(diǎn)擊“開發(fā)工具”選項(xiàng)卡下的“宏”,再選擇“Import_Data”,點(diǎn)擊“編輯”。
11. 第一個(gè)需要修改的地方是導(dǎo)入的數(shù)據(jù)文件名稱:將具體的名稱改為通過(guò)InputBox輸入日期來(lái)確定具體的數(shù)據(jù)文件是哪個(gè)。
12. 第二個(gè)需要修改的是導(dǎo)入數(shù)據(jù)時(shí)所選中的空白單元格,即新的數(shù)據(jù)應(yīng)從此空白單元格中開始添加,我們?cè)谥皩?dǎo)入時(shí),選中的是A9單元格,我們需要將其改為活動(dòng)單元格“ActiveCell”。
13. 完成修改后,我們來(lái)測(cè)試一下“Import_Data”宏;回到數(shù)據(jù)表中,先點(diǎn)擊某個(gè)空白單元格,注意我們當(dāng)前數(shù)據(jù)的最后一行為第22行。
14. 快捷鍵Ctrl+Shift+I,執(zhí)行宏“Import_Data”,當(dāng)執(zhí)行到InputBox時(shí),輸入一個(gè)日期“20170815”,即可導(dǎo)入以此日期命名的數(shù)據(jù)文件。
15. 點(diǎn)擊“確定”后,程序報(bào)錯(cuò),出現(xiàn)了一個(gè)“運(yùn)行時(shí)錯(cuò)誤”。
16. 點(diǎn)擊“調(diào)試”,可以幫助我們定位到代碼中的錯(cuò)誤在哪里,從而針對(duì)其進(jìn)行修改。
17. 錯(cuò)誤是在“.CommandType = 0”,這實(shí)際上是Excel自身的bug,因?yàn)椴](méi)有CommandType為0的,所以我們可以將此行代碼進(jìn)行注釋,即在其最前面加上一個(gè)單引號(hào)。
18. 注釋后,執(zhí)行的過(guò)程會(huì)自動(dòng)跳到下一步,我們點(diǎn)擊“繼續(xù)”執(zhí)行的按鈕。
19. 回到Excel工作表中,我們看到宏“Import_Data”已執(zhí)行完,添加了新的數(shù)據(jù)。
通過(guò)以上的案例,我們可以發(fā)現(xiàn)使用相對(duì)引用錄制宏時(shí),可以使自動(dòng)化的功能更加強(qiáng)大,對(duì)于處理更為復(fù)雜的數(shù)據(jù)非常有用。
#新技能get#
聯(lián)系客服