即使您不知道如何編程,也有很多地方(書籍、網站、論壇)可以找到用於 Excel 中大量典型任務的現成 VBA 宏代碼。 以我的經驗,大多數用戶遲早會收集他們個人的宏集合來自動化日常流程,無論是將公式轉換為值,用文字顯示總和,還是按顏色對單元格求和。 問題出現了——Visual Basic 中的宏代碼需要存儲在某個地方,以便以後在工作中使用。
最簡單的選擇是使用鍵盤快捷鍵轉到 Visual Basic 編輯器,將宏代碼直接保存在工作文件中 其他+F11 並通過菜單添加一個新的空模塊 插入 - 模塊:
但是,這種方法有幾個缺點:
- 如果有很多工作文件,而且到處都需要一個宏,例如將公式轉換為值的宏,那麼您將不得不復制代碼 在每一本書.
- 一定不能忘記 以啟用宏的格式保存文件 (xlsm) 或二進製書本格式 (xlsb)。
- 打開這樣的文件時 宏觀保護 每次都會發出需要確認的警告(好吧,或者完全禁用保護,這可能並不總是可取的)。
一個更優雅的解決方案是創建 您自己的加載項(Excel 加載項) – 包含所有“最喜歡的”宏的特殊格式 (xlam) 的單獨文件。 這種方法的優點:
- 就足夠了 連接插件一次 在 Excel 中 – 您可以在這台計算機上的任何文件中使用它的 VBA 程序和函數。 因此,不需要以 xlsm 和 xlsb 格式重新保存您的工作文件,因為。 源代碼不會存儲在其中,而是存儲在加載項文件中。
- 保護的故事 你也不會被宏所困擾。 根據定義,附加組件是受信任的來源。
- 可以做 單獨的標籤 在帶有漂亮按鈕的 Excel 功能區上運行加載宏。
- 加載項是一個單獨的文件。 他的 攜帶方便 從電腦到電腦,與同事分享甚至出售😉
讓我們逐步了解創建您自己的 Microsoft Excel 加載項的整個過程。
步驟 1. 創建加載項文件
使用空白工作簿打開 Microsoft Excel 並將其保存為任何合適的名稱(例如 MyExcel插件) 以插件格式使用命令 文件 - 另存為 或鑰匙 F12, 指定文件類型 Excel 加載項:
請注意,默認情況下 Excel 將加載項存儲在 C:UsersYour_nameAppDataRoamingMicrosoftAddIns 文件夾中,但原則上,您可以指定任何其他方便的文件夾。
步驟 2. 我們連接創建的加載項
現在我們在上一步中創建的加載項 MyExcel插件 必須連接到 Excel。 為此,請轉到菜單 文件——選項——附加組件 (文件——選項——加載項),點擊按鈕 關於我們 (去) 在窗口的底部。 在打開的窗口中,單擊按鈕 評論 (瀏覽) 並指定我們的加載項文件的位置。
如果您做對了一切,那麼我們的 MyExcel插件 應該出現在可用加載項列表中:
步驟 3. 將宏添加到加載項
我們的加載項已連接到 Excel 並成功運行,但其中還沒有一個宏。 讓我們把它填滿。 為此,請使用鍵盤快捷鍵打開 Visual Basic 編輯器 其他+F11 或通過按鈕 Visual Basic中 選項卡 開發人員 (開發商). 如果選項卡 開發人員 不可見,可以通過顯示 文件 - 選項 - 功能區設置 (文件——選項——自定義功能區).
編輯器左上角應該有一個窗口 專案 (如果不可見,則通過菜單開啟 查看 — 項目資源管理器):
此窗口顯示所有打開的工作簿和正在運行的 Microsoft Excel 加載項,包括我們的加載項。 VBA項目(MyExcelAddin.xlam) 用鼠標選擇它並通過菜單向它添加一個新模塊 插入 - 模塊. 在此模塊中,我們將存儲加載項宏的 VBA 代碼。
您可以從頭開始鍵入代碼(如果您知道如何編程),也可以從現成的某個地方復制它(這更容易)。 為了測試,讓我們在添加的空模塊中輸入一個簡單但有用的宏的代碼:
輸入代碼後,別忘了點擊左上角的保存按鈕(軟盤)。
我們的宏 公式到值,正如您可以輕鬆想像的那樣,將公式轉換為預選範圍內的值。 有時這些宏也被稱為 程序. 要運行它,您需要選擇帶有公式的單元格並打開一個特殊的對話框 宏 從標籤 開發人員 (開發者——宏) 或鍵盤快捷鍵 其他+F8. 通常,此窗口顯示所有打開的工作簿中的可用宏,但加載宏在這裡不可見。 儘管如此,我們可以在字段中輸入我們的程序的名稱 宏名 (宏名)然後單擊按鈕 跑 (跑) – 我們的宏將起作用:
|
在這裡,您還可以分配鍵盤快捷鍵以快速啟動宏 - 按鈕負責此操作 參數 (選項) 在上一個窗口中 宏:
分配鍵時,請記住它們區分大小寫和鍵盤佈局。 因此,如果您分配一個組合,例如 按Ctrl+Й, then, in fact, in the future you will have to make sure that you have the layout turned on and press additionally 轉移獲取大寫字母。
為方便起見,我們還可以在窗口左上角的快速訪問工具欄中為我們的宏添加一個按鈕。 為此,請選擇 文件——選項——快速訪問工具欄 (文件——選項——自定義快速訪問工具欄),然後在窗口頂部的下拉列表中選擇 宏. 之後我們的宏 公式到值 可以用按鈕放置在面板上 加入 (新增) 並使用按鈕為其選擇一個圖標 更改 (編輯):
步驟 4. 向加載項添加功能
但 宏觀程序,還有 函數宏 或者他們被稱為 UDF (用戶定義函數 = 用戶定義函數)。 讓我們在附加組件中創建一個單獨的模塊(菜單命令 插入 - 模塊) 並將以下函數的代碼粘貼到那裡:
不難看出,從含增值稅的金額中提取增值稅是需要這個功能的。 當然不是牛頓二項式,但它可以作為一個例子來展示基本原理。
請注意,函數的語法與過程不同:
- 使用構造 功能 …。 結束功能 代替 子…結束子
- 在函數名之後,它的參數用括號表示
- 在函數體中,執行必要的計算,然後將結果分配給具有函數名稱的變量
還要注意這個函數是不需要的,不可能像之前的宏程序那樣通過對話框運行 宏 和按鈕 跑. 這樣的宏函數應該用作標準工作表函數(SUM、IF、VLOOKUP…),即只需在任何單元格中輸入,以增值稅為參數指定金額的值:
… 或通過標準對話框輸入插入功能(按鈕 fx 在公式欄中),選擇一個類別 用戶自定義 (用戶自定義):
這裡唯一不愉快的時刻是窗口底部沒有通常的功能描述。 要添加它,您必須執行以下操作:
- 使用鍵盤快捷鍵打開 Visual Basic 編輯器 其他+F11
- 在“項目”面板中選擇加載項,然後按 鍵 F2打開對象瀏覽器窗口
- 從窗口頂部的下拉列表中選擇您的加載項項目
- 右鍵單擊出現的功能並選擇命令 氟化鈉性能.
- 在窗口中輸入函數的描述 產品描述
- 保存加載項文件 並重新啟動excel.
重啟後,函數應該會顯示我們輸入的描述:
步驟 5. 在界面中創建附加選項卡
最後,雖然不是強制性的,但令人愉快的觸摸將是創建一個帶有按鈕的單獨選項卡來運行我們的宏,連接我們的加載項後,它將出現在 Excel 界面中。
有關默認顯示的選項卡的信息包含在書中,並且必須以特殊的 XML 代碼格式化。 編寫和編輯此類代碼的最簡單方法是藉助特殊程序——XML 編輯器。 最方便(且免費)之一是 Maxim Novikov 的程序 功能區 XML 編輯器.
使用它的算法如下:
- 關閉所有 Excel 窗口,這樣我們在編輯外接程序 XML 代碼時就不會發生文件衝突。
- 啟動 Ribbon XML Editor 程序並在其中打開我們的 MyExcelAddin.xlam 文件
- 帶按鈕 標籤 在左上角,為新標籤添加代碼片段:
- 您需要輸入空引號 id 我們的選項卡和組(任何唯一標識符),以及 標籤 – 我們選項卡的名稱和上面的一組按鈕:
- 帶按鈕 按鍵 在左側面板上,為按鈕添加一個空白代碼並為其添加標籤:
- 標籤 是按鈕上的文字
— imageMso — 這是按鈕上圖像的條件名稱。 我使用了一個名為 AnimationCustomAddExitDialog 的紅色按鈕圖標。 如果您搜索關鍵字“imageMso”,則可以在 Internet 上的大量站點上找到所有可用按鈕的名稱(有數百個!)。 對於初學者,你可以去這裡。
- 動作 – 這是回調過程的名稱 – 一個特殊的短宏,它將運行我們的主宏 公式到值. 您可以隨意調用此過程。 我們稍後會添加它。
- 您可以使用工具欄頂部帶有綠色複選標記的按鈕檢查所有操作的正確性。 在同一個地方,單擊帶有軟盤的按鈕以保存所有更改。
- 關閉功能區 XML 編輯器
- 打開 Excel,轉到 Visual Basic 編輯器並在我們的宏中添加一個回調過程 殺戮公式以便它運行我們的主宏來用值替換公式。
- 我們保存更改,然後返回 Excel,檢查結果:
這就是全部 - 加載項已準備好使用。 用你自己的程序和函數填充它,添加漂亮的按鈕——在你的工作中使用宏將變得更加容易。
- 什麼是宏,如何在工作中使用它們,在 Visual Basic 中從何處獲取宏代碼。
- 在 Excel 中打開工作簿時如何製作啟動畫面
- 什麼是個人宏本以及如何使用它