Excel的宏是由一系列的Visual Basic語(yǔ)言代碼構(gòu)成的,因此,如果你熟悉VisualBasic語(yǔ)言,可以用它編寫(xiě)為宏,如果用戶不熟悉VB語(yǔ)言,可以用記錄功能建立宏。下面詳細(xì)介紹一下有關(guān)的方法和技巧。
一、建立宏
要想建立一個(gè)宏,方法有兩種:一是用宏記錄器記錄所要執(zhí)行的一系列操作;二是用Visual Basic語(yǔ)言編寫(xiě)。這兩種方法各有優(yōu)越之處,自動(dòng)記錄宏可以使用戶在不懂Visual Basic語(yǔ)言的情況下也可建立自己的宏,但缺點(diǎn)是對(duì)于一些復(fù)雜的宏要記錄的操作很多,而且可能有些功能并非是能通過(guò)現(xiàn)有的操作所能完成的;自己動(dòng)手編寫(xiě)宏則不必進(jìn)行繁瑣的操作而且能實(shí)現(xiàn)自動(dòng)記錄所不能完成的一些功能。在這里需要說(shuō)明的一點(diǎn)是,即使自動(dòng)記錄的宏,記錄器也是把它翻譯成Visual Basic語(yǔ)言來(lái)存放的,因此,在這里的一點(diǎn)技巧是你可以使用自動(dòng)錄功能記錄宏,記錄完畢后再打開(kāi)宏進(jìn)行編輯、修改簡(jiǎn)化或增強(qiáng)宏的功能,這樣可省去許多輸入代碼的工作。建立宏的方法如下:1.在“工具”菜單中,選擇“記錄宏”,再單擊右側(cè)的“記錄新宏”命令。
2.在對(duì)話框中輸入宏名。可以使用省略宏名如“宏2”,也可以在“宏名”框中鍵入另一名稱。
3.若要給出宏的簡(jiǎn)單說(shuō)明,在“說(shuō)明”框中可鍵入描述性文字。
4.若要設(shè)置有關(guān)宏的選項(xiàng),單擊“選項(xiàng)”。
5.單擊“確定”,然后執(zhí)行所記錄的操作。
6.操作完成之后,在“工具”菜單中, 選擇“記錄宏”,右側(cè)的“記錄新宏”命令已變成了“停止記錄”,單擊即可結(jié)束。
“記錄宏”命令下的其它三個(gè)選項(xiàng)的說(shuō)明:“使用相對(duì)引用”——此項(xiàng)為一開(kāi)關(guān)選項(xiàng),此開(kāi)關(guān)不打開(kāi)時(shí),記錄宏使用單元格絕對(duì)引用,用這種方式記錄的宏總是在最初記錄宏的單元格位置操作。此開(kāi)關(guān)打開(kāi)之后,用戶在任何情況下都可以使用宏而不是在特定的單元或范圍中才能使用,當(dāng)然存儲(chǔ)此宏的工作簿必須在開(kāi)的情況下宏才能使用,使用相對(duì)引用可使記錄的宏使用更靈活。
“標(biāo)示記錄位置”和“在標(biāo)示處記錄”——指的是確定開(kāi)始記錄宏的位置,從此處開(kāi)始記錄宏的代碼。注意:此兩選項(xiàng)只對(duì)“模塊”工作表(記錄操作后翻譯為VB代碼的工作表Module)有效。“記錄新宏”對(duì)話框的選項(xiàng)說(shuō)明:
“工具”菜單下的菜單項(xiàng)——可以將宏加入到“工具”菜單下,作為一個(gè)菜單選項(xiàng),以供方便使用。快捷鍵——通過(guò)指定快捷鍵執(zhí)行宏。需注意的一點(diǎn)是:當(dāng)包含宏的工作薄打開(kāi)時(shí),此宏的快捷鍵優(yōu)先Microsoft Excel快捷鍵執(zhí)行, 因此,如果你為宏設(shè)置的快捷鍵和Excel的快捷鍵相同的話,那么Excel的快捷鍵將不能發(fā)揮作用,要盡量避免快捷鍵相同。保存到“個(gè)人工作簿”——“個(gè)人工作簿”是一個(gè)隱蔽的工作簿,一般情況下啟動(dòng)Excel時(shí)會(huì)自動(dòng)打開(kāi)它,因此,如果將常用的宏保存在其中, 可以在任何工作簿中使用,建議將非專用的宏都放在此簿中,使用方便,管理也方便。保存到“當(dāng)前工作簿”——將宏存儲(chǔ)到當(dāng)前工作簿中,只有當(dāng)記錄該宏的工作簿打開(kāi)時(shí),本工作簿和其它的工作簿才能使用它,一般的工作簿專用宏用此選項(xiàng)。保存到“新工作簿”——將宏保存到新的工作簿中,該項(xiàng)意義不大,一般很少用。語(yǔ)言選項(xiàng)——Visual Basic,將記錄的操作翻譯為Visual Basic語(yǔ)言,這是常用的選項(xiàng)。MS Excel 4.0 宏語(yǔ)言,將操作翻譯為Excel 4.0的宏語(yǔ)言,如果你對(duì)4.0版的宏語(yǔ)言不熟悉,盡量不要采用此選項(xiàng),否則給以后的編輯、修改帶來(lái)麻煩。上面介紹的是用記錄的方式建立宏,如何直接用Visual Basic語(yǔ)言編輯宏呢?首先還是要按照上面的步驟進(jìn)行到第5步時(shí), 單擊“確定”后,不是進(jìn)行操作而是開(kāi)始編寫(xiě)VB代碼。這里有兩種情況:
1.如果你的工作簿中已經(jīng)有了一個(gè)用來(lái)記錄宏的“模塊”工作表,最好在建立宏之前將其切換到前臺(tái)(激活),然后再建立新宏。在這種情況下,單擊“確定”按鈕之后, Excel將自動(dòng)在“模塊”工作表中生成新宏的代碼框架,一行為SUB “宏名”,下一行為END SUB, 此時(shí)你就可以在兩行之間直接輸入VB代碼了。輸入完畢,要執(zhí)行“停止記錄”命令。
2.如果你的工作簿中還沒(méi)有“模塊”工作表, 那么你從工作簿底部可以看到Excel為你新建了一個(gè),用鼠標(biāo)激活它,這時(shí)你將看到剛才激活它的操作已被記錄成代碼,一般來(lái)說(shuō)這是我們不需要的,將此行代碼刪除,然后編寫(xiě)你自己的代碼即可。
二、執(zhí)行宏
一個(gè)宏建立完畢后就可以執(zhí)行了,執(zhí)行宏的方法有多種,可根據(jù)具體情況采用不同的方法,下面介紹常用的幾種方法。
1、用“工具”菜單下的“宏”命令執(zhí)行打開(kāi)“工具”菜單,選擇“宏”,在對(duì)話框中輸入要運(yùn)行的宏的名字或用鼠標(biāo)在宏列表中選擇都可以,然后單擊“執(zhí)行”按鈕。
2、用快捷鍵執(zhí)行宏
如果你在建立宏時(shí),為宏指定了快捷鍵,那么直接按快捷鍵即可,這是比較快捷的方法,缺點(diǎn)是需要記住每個(gè)宏的快捷鍵。
3、如果在建立宏時(shí),為宏指定了在“工具”菜單下的菜單項(xiàng),那么打開(kāi)“工具”菜單后執(zhí)行所對(duì)應(yīng)的菜單項(xiàng)命令即可。
4、在模塊文件中執(zhí)行宏
建立的宏都是存儲(chǔ)在模塊文件中的,激活模塊文件后,將光標(biāo)移到所要執(zhí)行的宏代碼中的任何位置(SUB和END SUB之間),按F5鍵即可執(zhí)行。如果光標(biāo)不在宏代碼之間,按F5后將會(huì)激活運(yùn)行宏的對(duì)話框,與第一種方法相同。如果VISUAL BASIC工具欄處于激活狀態(tài),那么單擊VISUAL BASIC工具欄中“執(zhí)行宏”按鈕也可執(zhí)行。這種執(zhí)行宏的方法比較適合于對(duì)剛記錄的宏進(jìn)行驗(yàn)證或修改后驗(yàn)證時(shí)采用。
5、通過(guò)將宏指定為按鈕或圖形來(lái)執(zhí)行
單擊常用工具欄上的“繪圖”按鈕,可以在工作表中建立圖形或按鈕,建立圖形后,單擊鼠標(biāo)右鍵,在快捷菜單中單擊“指定宏”命令,在“宏名/引用”對(duì)話框中,鍵入宏名; 如果建立的是按鈕,則創(chuàng)建完畢自動(dòng)出現(xiàn)指定宏對(duì)話框。單擊“確定”按鈕,這樣就可以將按鈕或圖形指定為一個(gè)宏,當(dāng)單擊此按鈕或圖形對(duì)象時(shí),宏將自動(dòng)執(zhí)行。此種方法適用于在自己的工作表中使用的專用宏,可將其放在合適的位置,隨時(shí)單擊運(yùn)行。注意:在指定宏操作完畢后關(guān)閉繪圖工具欄時(shí),一定要使其中的“選定圖形”按鈕處于彈起狀態(tài),否則單擊按鈕或圖形將不能執(zhí)行宏,而且也不能選擇單元格。
6、通過(guò)將宏指定給工具欄按鈕執(zhí)行
在“視圖”菜單中,單擊“工具欄”命令,若要?jiǎng)?chuàng)建一個(gè)新的工具欄并自定義工具欄按鈕,在“工具欄名稱”對(duì)話框中鍵入新工具欄名,再單擊“新建”按鈕(如果要為已有的工具欄添加按鈕,則單擊“自定義”),此時(shí)在對(duì)話框左上方就出現(xiàn)自定義的工具欄。然后在“自定義工具欄”對(duì)話框的“分類”列表框中單擊“自定義”命令,再?gòu)摹肮ぞ甙粹o”下面拖動(dòng)喜愛(ài)的按鈕到自定義的工具欄上,當(dāng)把按鈕放到工具欄上時(shí),就會(huì)自動(dòng)出現(xiàn)“指定宏”對(duì)話框,輸入宏名后單擊“確定”即可,此時(shí)又會(huì)出現(xiàn)“自定義工具欄”對(duì)話框,如果不再需要自定義按鈕,單擊“關(guān)閉”命令。這時(shí)自定義的工具欄一般比較小且是放置在工作表中的,雙擊其標(biāo)題條,它自動(dòng)變成長(zhǎng)條狀并放置到工作表上方的工具欄區(qū)。建議新建一個(gè)自己的自定義工具欄并將常用的公用宏放置在其上,這樣使用起來(lái)很方便。
三、編輯和刪除宏
一個(gè)宏建立之后可能不滿意,需要編輯修改或其使命完成之后需要?jiǎng)h除,下面是常用的一些方法。
1、編輯、修改宏
如果用戶對(duì)Excel的Visual Basic語(yǔ)言不熟悉,那么最好的方法是重新記錄宏,在新建宏時(shí),在“宏名”框中輸入原來(lái)的名字, 單擊“確定”,Excel將提示用戶是否替換已存在的宏,單擊“是”即可。如果用戶熟悉VB語(yǔ)言,可直接對(duì)宏進(jìn)行修改。單擊菜單條中的“工具”選項(xiàng),選擇“宏”命令項(xiàng),選擇要編輯的宏,單擊“編輯”按鈕,就可以進(jìn)行編輯了。此處有一點(diǎn)小技巧,如果你不想手工編寫(xiě)代碼,將光標(biāo)移到需要插入代碼的位置,選擇“工具”菜單中“記錄宏”命令下的“在標(biāo)示處記錄”選項(xiàng),然后可以進(jìn)行操作,操作完畢后選擇“停止記錄”,則剛才的操作就翻譯成了VB代碼,放在光標(biāo)之后,利用這種方法可以為已有的宏增添新的功能,這種方法不生成SUB、END SUB代碼,適用于現(xiàn)有宏的修改。另一種方法是單擊工作簿底部的“模塊”文件,其中存放的是宏的VB代碼,在此處可同時(shí)修改其中所有的宏。修改已記錄宏的一些技巧如下:
A、去掉 Select 方法和 Selection 屬性。記錄器經(jīng)常記錄 Select 方法和 Selection 屬性,但這會(huì)導(dǎo)致宏通用性受到限制,因?yàn)镾elect 方法和Selection 屬性要求工作表是活動(dòng)的。因此如果要記錄的宏不是專用的,一般要將其去掉,用Worksheets 方法來(lái)代替操作對(duì)象,同樣,對(duì)記錄的ActiveCell屬性一般也需要去掉。
B、去掉不必要的參數(shù)。記錄器可能會(huì)記錄一個(gè)方法的所有參數(shù),如果只想修改其中一兩個(gè)參數(shù),可從錄下的語(yǔ)句中清除不必要的參數(shù),功能不變,程序也得到了簡(jiǎn)化。如果你想在當(dāng)前工作簿中使用另一個(gè)工作簿(非個(gè)人工作簿)中的宏,可以將其復(fù)制過(guò)來(lái)復(fù)制的方法是將另一個(gè)工作簿中的模塊表復(fù)制到當(dāng)前工作簿中,其操作和復(fù)制其它工作表是一樣的,也可以通過(guò)剪貼板在模塊表之間復(fù)制宏代碼來(lái)達(dá)到復(fù)制宏的目的。
2、刪除宏
刪除宏的方法很簡(jiǎn)單,單擊菜單條中的“工具”選項(xiàng),選擇“宏”命令項(xiàng),選擇要?jiǎng)h除的宏,單擊“刪除”按鈕,就可以刪除了。這種刪除只是使得此宏不能再執(zhí)行了,如果你已為此宏指定了菜單項(xiàng)、工具欄按鈕、圖形等,它們也就沒(méi)什么作用了,則需要啟動(dòng)相應(yīng)的功能來(lái)刪除這些對(duì)象。比如對(duì)定義到工具欄上的指定宏按鈕的刪除方法如下:在“視圖”菜單中,單擊“工具欄”命令,選擇工具欄,單擊“自定義”按鈕,此時(shí)用鼠標(biāo)左鍵將工具欄上需要?jiǎng)h除的按鈕從工具欄上拖離開(kāi)工具欄即可刪除它。
四、excel中宏的使用步驟
為了深入淺出,小編操作了一個(gè)最簡(jiǎn)單的實(shí)操過(guò)程,希望大家不要。當(dāng)我們面對(duì)一份這樣的報(bào)表,我們要把背景色去掉,并且加粗、居中,并且排序。相信你看了頭數(shù)字5的經(jīng)驗(yàn),應(yīng)該立馬就會(huì)了。可是,老板一天要你處理一百個(gè)這樣的報(bào)表,還是重復(fù)操作!怎么辦?
其實(shí),不用怕,我們要用到“宏”來(lái)幫助我們。首先,我們要錄制新的宏,簡(jiǎn)單而言就是把我們要重復(fù)操作的步驟錄制起來(lái)哦! 方法是:點(diǎn)擊工具——宏——錄制新的宏。點(diǎn)擊后,你就開(kāi)始進(jìn)入宏的錄制了,把你步驟一步步錄起來(lái)!
如果你的步驟已經(jīng)錄好了,點(diǎn)擊停止按鈕,表示結(jié)束錄制。
老板又發(fā)給我一個(gè)這樣的表,我該怎樣使用我錄制好的宏呢?很簡(jiǎn)單,點(diǎn)擊工具——宏——宏——選擇你錄制好的宏的名字(小編的是頭數(shù)字5)——選擇當(dāng)前工作薄——執(zhí)行。如果你只需要宏的一步操作,也可以點(diǎn)擊單步執(zhí)行。如果你懂編碼,可以點(diǎn)擊編輯,就不用像小編一樣錄制了,直接寫(xiě)代碼。
看到了沒(méi)。一步就完成了的效果圖是這樣的。很簡(jiǎn)單吧?你學(xué)會(huì)了嗎?
評(píng)論