电竞比分网-中国电竞赛事及体育赛事平台

分享

運行VBA代碼的四種常用方法

 5jia5 2021-09-19
圖片



每天一篇Excel技術(shù)圖文
微信公眾號:Excel星球

NO.660-走你!VBA
作者:看見星光
 微博:EXCELers / 知識星球:Excel

HI,大家好,我是星光。

前面三期分別給大家聊了什么是VBA、什么是VBE、如何編寫VBA代碼,本期再給大家聊一下——如何運行這段VBA代碼?

以運行上期名為“我的查詢”的錄制宏為例,說下四種常見的優(yōu)劣各異的運行VBA代碼的方式。
第1種方式:快捷鍵



在【開發(fā)工具】選項卡下,單擊【宏】按鈕,打開【宏】對話框。在該對話框中選中宏名“我的查詢”。

在右側(cè)單擊【選項】按鈕,打開【宏選項】對話框;設(shè)置快捷鍵為Ctrl+q,最后單擊【確定】按鈕,依次關(guān)閉對話框。


圖片
設(shè)置完成后,只需按下快捷鍵<Ctrl+q>,系統(tǒng)就會自動運行相應(yīng)宏。

想象一下吧小同志,你背靠皮椅,小眼微瞇,手指輕動,一個函數(shù)都不漏痕跡,只是按下快捷鍵<Ctrl+q>,Excel就會自動為你獲取數(shù)據(jù)查詢結(jié)果,是不是
秀氣滿滿抑或巴適氣側(cè)漏?

不過需要注意的是,這里設(shè)置的宏快捷鍵會覆蓋Excel默認的快捷鍵。比如將宏的快捷鍵設(shè)置為<Ctrl+F>,<Ctrl+F>也就不再執(zhí)行原來的打開【查找與替換】對話框功能了。

第2種方式:插入按鈕




快捷鍵的方式雖好,久而不用卻難免會忘,此外它也不適合廣泛用于制作通用模版。此時我們可以設(shè)置一個按鈕,通過它來執(zhí)行指定的宏。

在【開發(fā)工具】選項卡下依次單擊【插入】→【按鈕(窗體控件)】按鈕。在工作表中繪制一個大小隨心的按鈕,松開鼠標左鍵后,系統(tǒng)會自動彈出一個【指定宏】對話框,選中所需宏名,比如本例“我的查詢”,單擊【確定】按鈕,即可將該按鈕關(guān)聯(lián)給宏“我的查詢”。

圖片

設(shè)置完成后,單擊該按鈕,即可執(zhí)行相應(yīng)的宏代碼。

小貼士

<1>:右鍵單擊按鈕,在彈出的快捷菜單中單擊【編輯文字】,可以修改按鈕的名稱,比如修改為“朕要工作了!”

<2>:除了插入按鈕外,也可以插入圖形或圖片等對象,實現(xiàn)類似關(guān)聯(lián)運行宏代碼的效果。

第3種方式:功能區(qū)宏按鈕


如果一個工作簿的宏命令比較多,以至于你一時間找不到相關(guān)按鈕的位置,就可以使用這種方式來運行宏了。

在【開發(fā)工具】選項卡下單擊【宏】按鈕,在彈出的【宏】對話框中選擇【我的查詢】選項,單擊【執(zhí)行】按鈕即可運行該宏。

圖片

第4種方式:在VBE中運行宏




在代碼開發(fā)過程中,經(jīng)常需要多次運行和調(diào)式VBA代碼,此時就需要在VBE中直接運行宏。

單擊“我的查詢”過程代碼的任意位置進入編輯狀態(tài),然后單擊工具欄上的【運行子過程/用戶窗體】按鈕,或者按快捷鍵<F5>,即可運行該過程代碼。

圖片
……

上面咱們聊了運行宏的4種方式,但是有個姓慕容的姑娘說過,愛情不是你想來,想來它就來,宏也不是你想運行……它就一定能運行。

有時候你打開一個工作簿,單擊按鈕,會彈出如下提示框。

圖片
出現(xiàn)該提示框的原因通常有兩種,一種是該按鈕沒有指定宏(或者曾經(jīng)指定過宏,但相關(guān)宏被刪除/更名了),另一種是該工作簿所有的宏確實被禁用了——這就要聊到宏的安全性問題。
設(shè)置宏的安全性


咱們在前面什么是VBA里講過,在很多人眼中宏是病毒的代名詞,這是由于宏在給Office用戶帶來極大便利的同時,也帶來了潛在的風險。它可以輕而易舉的控制或運行電腦中的應(yīng)用程序,生成計算機病毒或惡意功能,比如咱們曾經(jīng)分享過的那篇小代碼:

如何制作自動自殺和殺死其它文件的Excel工作簿?


有基沒有情于此,Excel通常默認不允許運行工作簿中的宏,并提供了【宏安全性設(shè)置】功能。

在【開發(fā)工具】選項卡下單擊【宏安全性】按鈕,可以打開【信任中心】對話框。在宏設(shè)置下,可以看到如下圖所示的四個選項。

圖片
一般來說,推薦使用【禁用所有宏,并發(fā)出通知】選項。

啟用該選項后,打開保存在非受信任位置的包含宏的工作簿時,在Excel功能區(qū)下方會顯示【安全警告】消息欄,告知用戶工作簿中的宏已經(jīng)被禁用,是否【啟用內(nèi)容】。
圖片
當用戶在消息欄中選擇【啟用內(nèi)容】后,該文件會自動成為受信任的文檔,再次打開該文件,系統(tǒng)不再顯示【安全警告】消息欄。

當用戶沒有選擇【啟用內(nèi)容】,而是直接進行了其它Excel窗口的操作,【安全警告】的消息框會自動消失,并默認用戶不選擇啟用宏。此時如果你又想啟用宏了——不好意思,愛情不是你想來想來他就來,麻煩你關(guān)閉重啟Excel工作簿再和【安全警告】的消息框打個招呼吧~


……

如何保存帶宏的文件



最后一個問題:當我們編寫了一段宏代碼,運行測試成功后,就需要將文件保存——那么如何保存包含宏代碼的Excel文件?

這問題問的似乎有點兒傻氣,但以我常年扎根底層的滄桑而憂郁的雙眸來看,還是很有必要說一下地——熊迪,算一卦?加入我的Excel星球,只需要219元,即可暢通無阻學(xué)習(xí)Excel方方面面~Excel知識星球加入及使用指南

……在Excel基礎(chǔ)入門教程的篇章里咱們曾經(jīng)講過,Excel的文件格式類型有很多種,最常用的是xlsx,但這種格式的文件并不支持保存宏代碼,它會自動抹除VBE或其它位置的宏。

只有古老的03版Excel、二進制工作簿(xlsb)和以字母“m”結(jié)尾的文件格式(xlsm,xltm,xlam)才可以用于保存宏代碼的文件,其中最常使用的是xlsm格式。

——因此,敲黑板,在你學(xué)習(xí)VBA的過程中,請務(wù)必先將工作簿另存為xlsm格式。

為什么這么說?

我有個叫隨風小妞的前女朋友,經(jīng)常不記得將Excel文件另存為xlsm格式,而是直接使用xlsx格式編寫代碼。每當代碼臨近完成調(diào)試,卻有不小機率不幸死機,于是代碼全軍覆沒尸骨無存。你想想,你想想他當場哭的梨花帶雨的模樣,豈是一個慘字了得?

希望你不要重蹈他的覆轍,更不要哭的梨花帶雨我見不憐……

致安,愿你不再因Excel而煩惱,我是星光,揮手再賤。

上千篇原創(chuàng)教程

隨學(xué)隨用 隨用隨學(xué)??


需要系統(tǒng)學(xué)習(xí)Excel,卻找不到優(yōu)質(zhì)教程?學(xué)習(xí)Excel的過程中遇到疑難問題,卻找不到人及時作出解答?加入我的付費社群,和微軟最有價值專家(MVP)全面精進Excel,學(xué)習(xí)+答疑都不再是問題……

??????

加入我的Excel會員,全面學(xué)習(xí)Excel
透視表 函數(shù) 圖表 VBA PQ想學(xué)啥學(xué)啥

??

圖片
圖片
圖片
Excel星球
Excel星球
建議常用Excel的職場人關(guān)注,海量教程隨學(xué)隨用,隨用隨查。 主創(chuàng):看見星光,微軟全球最有價值專家、Excel圖書作者、培訓(xùn)師。 內(nèi)容:每日四文,一篇函數(shù)教程、一篇VBA教程、一個短視頻小技巧、一篇雜文。
1451篇原創(chuàng)內(nèi)容
公眾號

??本文由公眾號“Excel星球”首發(fā)。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多