Excel宏定義

什麼是Excel中的宏以及何時使用?

Excel宏是一組存儲在所謂的VBA代碼中的編程指令,可用於消除重複執行常規任務的步驟的需要。

這些重複的任務可能涉及需要使用公式的複雜計算,或者可能是簡單的格式化任務 - 例如向新數據添加數字格式或應用單元格和工作表格式(如邊框和陰影)。

其他可用於保存宏的重複任務包括:

觸發宏

可以通過鍵盤快捷鍵,工具欄圖標或添加到工作表的按鈕或圖標來觸發宏。

宏與模板

雖然使用宏可以為重複性任務節省大量時間,但如果您經常將某些格式化功能或內容(例如標題或公司徽標)添加到新工作表中,最好創建並保存包含所有這些項目的模板文件而不是每次開始新工作表時重新創建它們。

宏和VBA

如前所述,在Excel中,宏是用Visual Basic for Applications(VBA)編寫的。 使用VBA編寫的宏是在VBA編輯器窗口中完成的,可以通過單擊功能區的開發人員選項卡上的Visual Basic圖標打開該窗口(如果需要,請參閱下面有關將開發人員選項卡添加到功能區的說明)。

Excel的宏錄像機

對於那些不能編寫VBA代碼的人來說,它有一個內置的宏記錄器 ,允許您使用鍵盤和鼠標記錄一系列步驟,然後Excel將其轉換為VBA代碼。

像上面提到的VBA編輯器一樣,宏記錄器位於功能區的開發人員選項卡上。

添加開發人員選項卡

默認情況下,Excel中的“ 開發人員”選項卡不存在於功能區上。 要添加它:

  1. 單擊文件選項卡以打開選項的下拉列表
  2. 在下拉列表中,單擊選項打開Excel選項 對話框
  3. 在對話框的左側面板中,單擊自定義功能區以打開自定義功能區窗口
  4. 在右側窗口的主選項卡部分下,單擊開發人員旁邊的複選框將此選項卡添加到功能區
  5. 單擊確定關閉對話框並返回到工作表。

開發人員現在應該在場 - 通常在功能區的右側

使用宏錄像機

如前所述,宏記錄器簡化了創建宏的任務 - 即使有時候,對於那些可以編寫VBA代碼的人來說也是如此,但在開始使用此工具之前,有幾點需要注意。

1.計劃宏

使用宏錄像機錄製宏需要一些學習曲線。 為了簡化流程,請提前進行規劃 - 甚至要寫出宏指令要執行的內容以及完成任務所需的步驟。

2.保持宏小而具體

就其執行的任務數量而言,宏是越大越複雜,它可能會計劃並成功記錄它。

更大的宏也運行得更慢 - 特別是那些涉及大型工作表中大量計算的宏 - 並且如果第一次不能正確工作,則更難調試和更正。

通過保持宏小和特定的目的,更容易驗證結果的準確性,並且如果事情沒有按計劃進行,就會發現它們出錯的地方。

3.適當地命名宏

Excel中的宏名稱有幾個必須遵守的命名限制。 首要的是宏名必須以字母表的字母開頭。 後續字符可以是數字,但宏名稱不能包含空格,符號或標點符號。

宏名稱也不能包含VBA作為其編程語言(如IfGoToNewSelect)一部分使用的許多保留字中的任何一個。

儘管宏名稱的長度最多可達255個字符,但很少有必要或不宜使用名稱中的多個字符。

首先,如果你有很多的宏,並且你打算從宏對話框中運行它們,那麼長名稱只會導致擁塞,從而難以挑選出你之後的宏。

更好的方法是保持名稱簡短,並利用描述區域來詳細說明每個宏的功能。

名稱下劃線與內部資本化

由於宏名稱不能包含空格,因此允許使用一個字符,並且使讀取宏名稱更輕鬆,這是可以在單詞之間使用的下劃線字符,以代替空格 - 例如Change_cell_color或Addition_formula。

另一種選擇是使用內部大小寫(有時稱為駱駝案例 ),它以大寫字母的名稱開頭每個新單詞 - 如ChangeCellColor和AdditionFormula。

在宏對話框中更容易選擇較短的宏名稱,尤其是在工作表包含多個宏並且記錄了很多宏時,因此您可以在宏中輕鬆識別它們。 該系統還提供了一個描述字段,但不是每個人都使用它。

4.使用相對與絕對單元格引用

單元格引用 (如B17或AA345)標識工作表中每個單元格的位置。

默認情況下,在宏記錄器中,所有單元格引用都是絕對的 ,這意味著確切的單元格位置被記錄到宏中。 或者,可以將宏設置為使用相對 單元格引用 ,這些引用表示移動(您移動單元格光標向左或向右移動了多少列),而不是精確位置。

你使用哪一個取決於宏設置完成的內容。 如果您想重複執行相同的步驟(例如格式化數據列),但每次在工作表中格式化不同的列時,則使用相對引用都是適當的。

另一方面,如果您想格式化相同範圍的單元格(例如A1到M23),但是在不同的工作表上,則可以使用絕對單元格引用,以便每次運行宏時,其第一步是移動單元格光標到單元格A1。

通過單擊功能區的“開發人員”選項卡上的“ 使用相對引用”圖標輕鬆完成將單元格引用從相對於絕對更改。

5.使用鍵盤鍵與鼠標

在移動單元格光標或選擇單元格區域時,使用宏鍵錄製鍵盤按鍵通常優於將鼠標移動記錄為宏的一部分。

使用鍵盤組合鍵(例如Ctrl + End或Ctrl + Shift +右箭頭鍵)將單元格光標移動到數據區域的邊緣(包含當前工作表上的數據的單元格),而不是反复按箭頭或製表符移動多個列或行的按鍵簡化了使用鍵盤的過程。

即使應用命令或使用鍵盤快捷鍵選擇功能區選項,也優於使用鼠標。