適用於初學者的 Microsoft 365 Excel 宏:如何在 Excel 2019 工作簿中記錄和編寫 VBA 宏?

適用於初學者的 Microsoft 365 Excel 宏:如何在 Excel 2019 工作簿中記錄和編寫 VBA 宏?

更新後:2021 年 8 月

這是一個讀者的問題:

我有一位同事正在使用 Excel VBA 宏來分析一堆數據。你能解釋一下宏是如何工作的,並且可能會為我提供一種學習該技能的方法嗎?非常感謝初學者的任何簡單提示。

謝謝你的問題。

Excel 365 宏簡介

掌握宏開發可能是成為 Excel 高級用戶所需的最重要技能之一。從本質上講,我們使用 VBA 宏來自動執行 Excel 中的任務(在Word 中,宏也非常有用),否則這些任務將變得平凡、無聊且非常耗時。

以下是一些我們可以在 Excel 中使用宏自動執行的任務示例:

  1. 創建和操作工作簿和工作表。
  2. 創建和操作圖表
  3. 從文件或其他系統導入數據。
  4. 分析數據並創建/刷新圖表和儀表板
  5. 自定義表單以獲取反饋
  6. 發電子郵件
  7. 以及更多…

由於 Excel 附帶內置的宏記錄器(與 Outlook 和 PowerPoint 不同),因此有兩個主要選項可將宏添加到 Excel 工作簿:

1) 記錄一系列用戶操作,這可能很容易上手,但不能針對可能涉及與其他 Office 應用程序交互或操作更大數據子集的複雜任務進行擴展。

2) 利用 Visual Basic for Applications (VBA) 編寫宏。這是一種相對簡單的過程語言,可讓您快速開發更複雜的自動化。

在這篇文章中,我們將介紹這兩種情況。我們將首先向您展示如何錄製宏,然後繼續提供將 VBA 宏插入電子表格的詳細過程。

我們將使用一個非常簡單的任務來演示這兩個選項:我們將自動將工作表名稱“DEMO”添加到現有工作簿並將特定表從Sheet1複製到它。

記錄 Excel 365 / 2019 宏

我們將使用一個非常簡單的示例來概述該過程。請按以下步驟進行:

  • 在 Excel 中,打開現有工作簿或創建一個全新的工作簿。
  • 導航到上部功能區中的視圖選項卡。
  • 在右側,您會注意到宏部分。
  • 點擊查看並選擇錄製宏。
  • 下面的表格將打開。現在為您的宏提供一個名稱並將其內容存儲到現有工作簿中。您可能會注意到,在這裡您可以輕鬆分配快捷鍵,以便更輕鬆地運行宏。

提示:確保為您的宏輸入詳細描述。

適用於初學者的 Microsoft 365 Excel 宏:如何在 Excel 2019 工作簿中記錄和編寫 VBA 宏?

  • 現在,點擊確定。
  • 此時,繼續手動執行您想要記錄的步驟——在我們的例子中,我將繼續手動創建新的電子表格,重命名它,然後從 Sheet1 複製表格。
  • 完成後,再次點擊宏並選擇停止錄製。
  • 如果您現在點擊宏,然後選擇查看宏,您將看到存儲在所有打開的工作簿(或特定工作簿)中的所有宏的列表

適用於初學者的 Microsoft 365 Excel 宏:如何在 Excel 2019 工作簿中記錄和編寫 VBA 宏?

  • 如果您點擊編輯按鈕,Microsoft VBA 編輯器將打開。
  • VBA 編輯器會在後台顯示 Excel 剛剛為您生成的代碼。在本教程的下一部分中,我將向您展示如何自己編寫類似的代碼。

適用於初學者的 Microsoft 365 Excel 宏:如何在 Excel 2019 工作簿中記錄和編寫 VBA 宏?

  • 關閉 VBA 編輯器。

保存啟用宏的文件

現在我們需要保存工作簿。由於它包含一個宏,我們應該將其保存為XSLM 文件(啟用宏的 Excel 文件)

  • 點擊文件,然後保存
  • 在您的計算機或 OneDrive 中選擇保存文件的位置。
  • 為其提供描述性名稱
  • 選擇 .xslm 作為文件類型。
  • 點擊確定。
  • 幹得好,你剛剛錄製了一個簡單的宏!

創建 Excel VBA 宏

正如我們之前提到的,在許多情況下 Excel 宏記錄器會達不到要求,無法滿足您的所有需求。在這些情況下,您需要編寫自己的代碼。

提示:在某些情況下,您可能希望使用混合方法來創建宏。您可以從錄製宏開始,然後使用 VBA 對自動生成的代碼進行手動調整。

設置 Excel 開發環境

這聽起來很花哨,但實際上很簡單。如果您在功能區中沒有看到名為Developer的選項卡,請先啟用 Developer 選項卡

開發人員選項卡可見後,您的功能區將如下所示:

適用於初學者的 Microsoft 365 Excel 宏:如何在 Excel 2019 工作簿中記錄和編寫 VBA 宏?

編寫 VBA 宏

  • 打開您的 Excel 文件。
  • 從功能區,點擊開發人員。
  • 現在點擊 Visual Basic 按鈕(或者,點擊 Alt+F11)。
  • 轉到 Module1 並粘貼以下代碼:
Sub Write_Macro()
'This code creates a Macro named Write_Macro
Dim MySheet As New Worksheet
Dim MyTable As Range

' Create a worksheet programatically and call it TEST
Set MySheet = ThisWorkbook.Sheets.Add(After:=Sheets(Sheets.Count))
MySheet.Name = "TEST"

'Copy the table from Sheet1 into TEST worksheet
Set MyTable = Sheet1.Range("A1:C11")

With MyTable
.Copy Sheets("TEST").Range("A1")
End With

End Sub
  • 關閉您的 VBA 編輯器。
  • 回到 Excel,點擊開發人員。
  • 現在點擊宏並查看工作簿中的宏列表。您會注意到我們自己編寫的 Write_Macro 條目。

適用於初學者的 Microsoft 365 Excel 宏:如何在 Excel 2019 工作簿中記錄和編寫 VBA 宏?

  • 將電子表格另存為 .xslm(啟用宏的 Excel 文件)

運行你的宏

執行您的宏非常簡單:從上面顯示的宏對話框中,突出顯示您的 Write_Macro 條目並點擊運行。

啟用 VBA 安全權限

在 Microsoft Office 中,默認情況下禁用宏,以避免運行有害代碼。如果你想運行你的宏,你需要允許它。如果您在運行我們上面創建的兩個宏中的任何一個時收到錯誤消息,請執行此可選步驟。

  • 點擊功能區中的開發人員
  • 選擇宏安全
  • 選擇禁用所有帶有通知的宏選項。
  • 點擊確定。

注意:禁用所有帶有通知的宏是包含宏的 Excel 工作簿的推薦安全設置。它的工作原理如下:當用戶打開這樣的工作簿時,Excel 會在編輯欄之外發布“MACROS 已禁用”通知。然後由用戶決定在工作簿中啟用宏。

包起來

在今天的簡短教程中,我們學習瞭如何通過錄製宏或直接使用 Visual Basic for Applications 編寫宏來將宏插入 Office 365 Excel。

這只是初學者熟悉 Excel 開發的第一步。需要具體解決方案的讀者,請通過聯繫頁面向我們發送詢問。


在 Excel 上玩“拼圖”

在 Excel 上玩“拼圖”

Reddit 用戶 MehmetSalihKoten 在 Microsoft Excel 中創建了俄羅斯方塊的全功能版本。

如何使用Excel中的轉換功能

如何使用Excel中的轉換功能

要轉換 Excel 中的測量單位,我們將使用 Convert 函數。

Excel中HLOOKUP函數的使用方法

Excel中HLOOKUP函數的使用方法

HLOOKUP 函數是什麼?如何在Excel中使用HLOOKUP函數?讓我們來和 LuckyTemplates 一起找出答案吧!

Excel中的IFERROR函數、公式及用法

Excel中的IFERROR函數、公式及用法

Excel 中的 IFERROR 函數非常常用。為了很好地使用它,您需要了解 Microsoft Excel 的 IFERROR 公式。

如何在 Excel 中使用 VALUE 函數

如何在 Excel 中使用 VALUE 函數

Excel中的VALUE函數是什麼?Excel中的數值公式是什麼?讓我們透過 LuckyTemplates.com 來了解一下吧!

Excel EOMONTH函數,EOMONTH函數如何使用

Excel EOMONTH函數,EOMONTH函數如何使用

Excel中的EOMONTH函數用於顯示給定月份的最後一天,實作非常簡單。然後,您將根據我們輸入的數據獲得特定月份的最後一天。

如何在 Excel VBA 中使用 do-while 循環

如何在 Excel VBA 中使用 do-while 循環

想要在 Excel VBA 中自動執行重複任務嗎?因此,讓我們學習如何使用 Do-While 迴圈來實作一系列重複操作,直到滿足條件。

Excel 2016 - 第 6 課:變更 Excel 中的列、行和儲存格的大小

Excel 2016 - 第 6 課:變更 Excel 中的列、行和儲存格的大小

Excel 中的預設列寬和行高可能與您輸入的資料不符。以下的文章向您介紹了一些在Excel 2016中更改列、行和儲存格大小的方法,請參考!

Excel 2016 - 第 5 課:儲存格與區域的基本概念

Excel 2016 - 第 5 課:儲存格與區域的基本概念

每當您使用 Excel 時,您都需要在儲存格中輸入資訊或內容。讓我們透過LuckyTemplates來學習Excel 2016中單元格和區域的基本概念!

如何在Excel中使用XLOOKUP函數

如何在Excel中使用XLOOKUP函數

Excel 中的 Xlookup 函數是什麼?如何在Excel中使用Xlookup?讓我們透過 LuckyTemplates.com 來了解一下吧!