《VBA之Excel應(yīng)用》(版權(quán)10178983)是非常經(jīng)典的,是我推出的第七套教程,定位于初級(jí),目前是第一版修訂。這套教程從簡(jiǎn)單的錄制宏開始講解,一直到窗體的搭建,內(nèi)容豐富,實(shí)例眾多。大家可以非常容易的掌握相關(guān)的知識(shí),這套教程共三冊(cè),十七章,都是我們?cè)诶肊XCEL工作過(guò)程中需要掌握的知識(shí)點(diǎn),希望大家能掌握利用。今日講解的內(nèi)容是:VBA之Excel應(yīng)用第五節(jié):錄制宏時(shí),使用絕對(duì)(Absolute)引用和相對(duì)(Relative)引用
【分享成果,隨喜正能量】放開心胸,堂堂正正,不計(jì)較眼前榮辱得失。一生做事光明磊落,心境恬然自得,自然吉祥遂愿,平安自在,樂享天年。 得此偈者,命途多舛,起起伏伏,時(shí)而陰云密布,時(shí)而朗天開。雖命途風(fēng)雨陰晦,坡坎溝壑,但要堂堂正正做人,這樣才能時(shí)來(lái)運(yùn)轉(zhuǎn),祥光永照,天年長(zhǎng)享。。
第五節(jié) 錄制宏時(shí),使用絕對(duì)(Absolute)引用和相對(duì)(Relative)引用的區(qū)別
大家好,我們繼續(xù)VBA的學(xué)習(xí),在上一講中,我們講到對(duì)于初學(xué)VBA人員,可以錄制一段代碼讓一些重復(fù)的工作能自動(dòng)完成。這不失為一種提高效率的方法。但我們?cè)阡浿坪甑臅r(shí)候,一定要注意區(qū)別絕對(duì)引用和相對(duì)引用。這節(jié)我將就這個(gè)問(wèn)題給大家以詳細(xì)講解。
1 絕對(duì)引用時(shí)代碼的錄制效果
所謂絕對(duì)引用,是單元格中的絕對(duì)單元格引用(例如$A$1)總是在指定位置引用單元格。如果公式所在單元格的位置改變,絕對(duì)引用保持不變。如果多行或多列地復(fù)制公式,絕對(duì)引用將不作調(diào)整。默認(rèn)情況下,新公式使用相對(duì)引用,需要將它們轉(zhuǎn)換為絕對(duì)引用。例如,如果將單元格B2 中的絕對(duì)引用“=$A$1”復(fù)制到單元格B3,則在兩個(gè)單元格中一樣,都是 “=$A$1”。
在VBA錄制宏的時(shí)候默認(rèn)采用的是絕對(duì)引用的方式。
例如,我們要錄制一段宏,錄制的內(nèi)容是:在單元格A1中錄入:“VBA世界”,A2中錄入“VBA學(xué)習(xí)”,A3中錄入“VBA代碼”
我們看一下錄制的效果:
Sub 宏2()
Range("A1").Select
ActiveCell.FormulaR1C1 = "VBA世界"
Range("A2").Select
ActiveCell.FormulaR1C1 = "VBA學(xué)習(xí)"
Range("A3").Select
ActiveCell.FormulaR1C1 = "VBA代碼"
End Sub
代碼截圖:
2 相對(duì)引用時(shí)代碼的錄制效果
所謂相對(duì)單元格引用(例如 A1)是基于包含公式和單元格引用的單元格的相對(duì)位置。如果公式所在單元格的位置改變,引用也隨之改變。如果多行或多列地復(fù)制公式,引用會(huì)自動(dòng)調(diào)整。默認(rèn)情況下,新公式使用相對(duì)引用。例如,如果將單元格 B2 中的相對(duì)引用復(fù)制到單元格 B3,將自動(dòng)從 =A1 調(diào)整到 =A2。
在錄制宏的時(shí)候,如果需要相對(duì)引用,需要按如下的處理方式:
第一:先點(diǎn)擊“使用相對(duì)應(yīng)用”;第二:再點(diǎn)擊“錄制宏”
實(shí)現(xiàn)同樣的錄制內(nèi)容:在單元格A1中錄入:“VBA世界”,A2中錄入“VBA學(xué)習(xí)”,A3中錄入“VBA代碼”的一段宏,我們看看在選擇相對(duì)引用的情況下產(chǎn)生的代碼:
Sub 宏3()
ActiveCell.FormulaR1C1 = "VBA世界"
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "VBA學(xué)習(xí)"
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "VBA代碼"
End Sub
代碼截圖:
3 絕對(duì)引用錄制宏和相對(duì)引用錄制宏的效果區(qū)別
兩種方法的代碼在實(shí)現(xiàn)效果上有什么區(qū)別呢?我們先在工作表窗口建立兩個(gè)運(yùn)行按鈕分別來(lái)實(shí)現(xiàn)這兩種引用的效果,如下圖所示的兩個(gè)按鈕。
同時(shí)我給出了當(dāng)前活動(dòng)單元格的位置;
我們先點(diǎn)擊“絕對(duì)引用”的運(yùn)行按鈕,實(shí)現(xiàn)的效果如下:
我們?nèi)耘f把光標(biāo)點(diǎn)到“C9”單元格的位置,點(diǎn)擊“相對(duì)引用”的運(yùn)行按鈕,實(shí)現(xiàn)的效果如下:
此時(shí)我們發(fā)現(xiàn),我們填入的三組字符出現(xiàn)在了C9,C10,C11 三個(gè)單元格內(nèi)。也就是說(shuō),在相對(duì)引用條件下錄入的代碼是以相對(duì)于當(dāng)前活動(dòng)單元格的錄入效果。
今日內(nèi)容回向:
1)什么是絕對(duì)引用,什么是相對(duì)引用?
2)絕對(duì)引用和相對(duì)引用條件下錄制的宏代碼有何不同?
3) 絕對(duì)引用和相對(duì)引用條件下錄制的宏代碼在實(shí)現(xiàn)效果上有何不同?
本講內(nèi)容參考程序文件:工作簿01.xlsm
我20多年的VBA成果全在下面的資料中:
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-801962.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-801962.html
到了這里,關(guān)于VBA之Excel應(yīng)用第五節(jié):錄制宏時(shí),使用絕對(duì)引用和相對(duì)引用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!