京寵展信息指南
668
2025-03-31
宏是一組指令。能使Excell的某些操作自動化,從而可以有效地工作并減少錯誤的發生,本節對Office Excell VBA宏做個簡介,包含模塊及啟用宏創建宏錄制宏,感興趣的朋友可以看看。
啟用宏
對宏最廣泛的定義是,“宏”是一組指令。能使Excell的某些操作自動化,從而可以有效地工作并減少錯誤的發生。例如,您可以創建一個宏來完成重復而復雜的輸入,設置某種報表的格式并打印。
不必成為一個專業用戶就能創建和使用簡單的VBA宏。因為Excell提供了一個宏錄制器,Excell可以記錄用戶的一系列操作從而自動形成一個宏。高級用戶能夠使用VBA語言自己創建程序,來告訴Excelle進行某些操作。這樣做有著極大的自由度,能夠完成宏不能完成的操作。例如,可以自定義對話框、在Excell菜單中插入一個自己的命令,建立一個自己的函數供工作表使用。
首先,我們來實驗一下宏。想使用宏,必需保證“開發工具”選項卡出現在Excell中:
/EXCELL2007
office按鈕 →Excell 選項
Excell 選項→ 常用 。
選中“在功能區顯示‘開發工具’選項卡”復選框。
單擊確定。
/EXCELL2010
文件→ 選項,
自定義功能區,
選中對話框右側列表中“開發工具”被選中,
單擊確定。
現在,Excelle窗口中出現了“開發工具”選項卡。不過在操作它之前還要了解一下宏的安全性。由于Office中的VBA自由度極高,可以訪問系統的不少核心部分,所以Excell對宏默認是禁止使用的(功能越強大的東西越容易形成對電腦的嚴重傷害)。這種禁止是對于不懂宏或VBA的用戶的善意之舉,就像洗潔精瓶子上寫著要將他放到兒童夠不到的地方并且禁止飲用。下面我們從高出取下這個瓶子。
在“開發工具”→ “宏安全性”中設置“禁用所有宏,并發出通知”,這樣,在打開含有宏的文檔時會提示您是否使用宏。最好的方法是在“信任中心”→“信任位置”里設置一個或多個文件夾,這樣,在這個位置的文檔中的宏會被信任而允許執行,其他來源的含有宏的文檔被拒之門外。(Excell2010,文件→選項→信任中心→信任中心設置)
保存帶有宏的工作簿,要將格式改為:*.xlsm ,否則不能保存。這也是2007版以來的規則,這也是一種保護吧,從文件名上區分了是否攜帶宏(普通Excell文檔是 *.xlsx)。
兩種VBA宏
1、VBA子程序
子程序,就是一組語句的集合,完成一系列操作、不返回值。總是以Sub開頭,End Sub 結束。其間“ ' ”號后面的文字(深綠色)是注釋即說明,程序不會理會它們,主要是方便人們理解程序的功能。其他的是語句了。
2、VBA函數
函數,與工作表里的函數功能上差不多,它必須要返回一個單一值。它經常被子程序或其它函數所使用。如果把一個函數放到合適位置它也可以被工作表使用,就像Excell內置函數一樣。函數以“Function 函數名(參數)”開頭,以End Function 結束,中間放著對參數的處理過程,并返回一個值。函數的作用很多,至少他可以把冗長的工作表函數精簡許多,并且看上去更容易讓人理解。比如上例,函數B返回參數的立方根。
模塊
模塊,聽起來很神的東西,其實他就是VBA代碼的容器,即過程、函數寫在哪兒?哦,在模塊里。
創建一個VBA宏
錄制一個宏,將得到一個過程(SUB)。通過“開發工具”→“錄制宏”按鈕,可以錄制一個宏,按下按鈕后,Excell就像一臺錄像機記錄用戶的所做所為,直到您按下“開發工具”→“停止錄制”。在開始錄制時出現這個對話框:
這時應當給這個宏取個合適的名字,加上一個快捷鍵。比如Marco1,Ctrl+q ,之后就可以在工作表上做些事了,比如在一個單元格上輸入名字。我在A5單元格上輸入文字,之后停止了錄制。
現在我在鍵盤上按下Ctrl+q,沒事發生啊,清除A5上的文字,再按Ctrl+q事情有了變化,A5格里被填寫了剛才輸入又清除的文字。這就是宏,重復的做一件事。
如果您在錄制前點擊“開發工具”→“使用相對引用”,重復以上操作,重新錄制后的宏可以在您選定任意單元格并按下快捷鍵時把那些文字輸入當前的單元格。
看看我們錄制了什么
“開發工具”→“宏”按鈕,得到:
單擊列表中的"Marco_1“(剛才命名的宏),單擊編輯,得到:
這時VB編輯器打開,默認的模塊1里放著我錄制的宏。可以看出它是一個過程,不返回什么值只是做了一件事:在當前單元格里輸入“qqq”,之后活動單元格設為同列的下一格。
您可以做一些更復雜的操作,絕大部分是可以記錄下來,留以后反復使用的。注意定義快捷鍵時可以同時按下Shift鍵,這樣就成為Shift+Ctrl+字母以免與Excell內置的快捷鍵沖突。
您可能注意到先前的Function B 這個函數也出現在模塊1里,這個是我手工輸入的。可以在這里(模塊1)輸入這樣格式的函數,這樣就可以在工作表里使用它。
我現在在工作表里插入函數,在函數列表里可以看見它(B)。
應用它:
看到這里想必你對VBA宏有個大概的了解了吧,是否有寫VBA的沖動,那就趕快動手吧!
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。