如何使用 VBA 在 Excel 中插入行:3 種可靠的方法

若要在 Excel 中使用 VBA 插入行,請使用Insert工作表行上的方法。以下三個範例分別介紹如何新增一個或多個空白行、插入現有行的副本以及建立不帶繼承格式的空白行。每個巨集都針對名為 `<worksheet_name>` 的工作表Data;請將該名稱替換為工作簿中實際的工作表名稱。

步驟 1:準備工作簿並開啟 VBA 編輯器

請使用桌面版 Excel。網頁版 Excel 可以開啟包含巨集的工作簿,但無法建立、編輯或執行 VBA 巨集。如果您的工作簿包含重要數據,請在運行程式碼之前儲存備份,因為插入行會將插入點下方的行向右移動。

在 Windows 系統中,按Alt+F11開啟 Visual Basic 編輯器 (VBE)。您也可以選擇“開發工具”>“Visual Basic”。在 VBE 中,選擇「插入」>「模組」,然後將巨集貼到空白模組中。微軟的VBE 說明文件也展示了相同的模組工作流程。

在 Excel 和 Visual Basic 編輯器中開啟 Module1,並執行一個巨集,該巨集會在資料工作表中插入第 4 行。
在 Visual Basic 編輯器中開啟一個標準 VBA 模組,新增巨集。

步驟 2:選擇三種行插入方法中的一種

方法一:插入一個或多個空白行

此巨集會在目前第 4 行上方插入一整行工作表內容。Shift:=xlDown參數指示 Excel 將現有儲存格向下移動以騰出空間。 Range.Insert參考文件詳細說明了行動和格式設定選項。

Sub InsertOneRow()
    ThisWorkbook.Worksheets("Data").Rows(4).Insert Shift:=xlDown
End Sub

若要從第 3 行上方插入兩行,請改用行範圍:

Sub InsertTwoRows()
    ThisWorkbook.Worksheets("Data").Rows("3:4").Insert Shift:=xlDown
End Sub

插入第 3 行和第 4 行,原有行向下移動。變更行號以選擇新行的起始位置和新增行數。引用ThisWorkbook表示該巨集應儲存在要變更的工作簿中。

在 Excel 工作表中,Alpha 和 Bravo 之間插入了兩個空白行,將後面的記錄向下移動。
插入第 3 行和第 4 行會造成兩行的空缺,並將現有記錄向下移動。

方法二:插入現有行的副本

當需要將新行的值、公式和格式與現有行保持一致時,請使用此版本。它首先在第 6 行建立一個空白區域,然後將第 2 行的內容複製到該空白區域。原始的第 2 行將保留在原處。 Microsoft 在其Range.Copy 參考文件中對可選的目標參數進行了說明。

Sub InsertCopyOfRow()
    With ThisWorkbook.Worksheets("Data")
        .Rows(6).Insert Shift:=xlDown
        .Rows(2).Copy Destination:=.Rows(6)
    End With
End Sub

將 `<來源行號>`替換2為來源行號,將 `<目標6行號>` 替換為副本應出現的行號。由於複製的是整行,因此在使用插入的副本之前,請務必檢查其中的公式和引用。

在 Excel 工作表中,將 Alpha 行的副本插入第 6 行,而來源行保持不變。
複製的 Alpha 行出現在第 6 行;來源行仍位於第 2 行。

方法三:插入一行而不複製格式

Excel可能會將相鄰行的格式帶到插入的行中。插入該行後,呼叫ClearFormats該行來刪除這些格式:

Sub InsertUnformattedRow()
    With ThisWorkbook.Worksheets("Data")
        .Rows(3).Insert Shift:=xlDown
        .Rows(3).ClearFormats
    End With
End Sub

此操作會清除插入工作表行中的所有格式。它不會刪除其他行中的值。 Microsoft 的ClearFormats 文件對此方法進行了詳細說明。

Excel 工作表,第 3 行空白,VBA 程式碼呼叫 EntireRow.Insert 和 ClearFormats。
ClearFormats 函數會移除插入行中繼承的儲存格格式。

步驟 3:運行巨集並檢查結果

返回 VBE,將遊標放在要執行的過程內的任意位置,然後按F5鍵。您也可以傳回 Excel,依序選擇「開發工具」>「巨集」,選擇巨集名稱,然後選擇「執行」 。如需可用選項,請參閱 Microsoft 的Excel 巨集運作指南。

儲存前,請檢查是否已在目標工作表中插入了預期的行。如果您要將 VBA 程式碼保留在工作簿中,請將其另存為啟用巨集的 Excel 工作簿 (.xlsm);另存為普通.xlsx檔案不會保留 VBA 巨集。 Microsoft 在其巨集保存說明中對此進行了解釋。請僅執行來自可信任來源的宏,並遵守您所在組織的宏安全策略。

常見問題

  • 「下標超出範圍」:程式碼中的工作表名稱與工作表標籤名稱不完全相符。請更新"Data",如果工作表標籤包含空格,也請更新。
  • 這些行出現在錯誤的工作簿中:程式碼使用了 `<workbook_name>` ThisWorkbook,它指向包含巨集的檔案。請將模組儲存在您要編輯的工作簿中。
  • 瀏覽器中無法執行任何程式:請在桌面版 Excel 中開啟檔案;VBA 巨集無法在網頁版 Excel 中運作。請參閱 Microsoft 提供的網頁版 Excel VBA 指南。

這些範例會插入整個工作表行。如果資料是 Excel 表格,並且您想要新增表格記錄,請使用表格的ListRows.Add相應方法,以便新條目屬於該表格。

留下評論

如何在 Microsoft Word 中移動圖片

如何在 Microsoft Word 中移動圖片

學習如何在 Word 中拖曳圖片、選擇文字環繞方式、將圖片與段落保持在一起或將其固定在頁面上,以及如何解決圖片無法移動的問題。

如何在 Excel 中插入複選框:兩種簡易方法

如何在 Excel 中插入複選框:兩種簡易方法

學習如何使用儲存格內工具在 Excel 中插入複選框,使用公式計算選取項目的數量,或在舊版桌面 Excel 中新增連結的表單控制項。

如何在 Excel 中自動填充字母:從 A 到 Z 及其他

如何在 Excel 中自動填充字母:從 A 到 Z 及其他

使用填充柄公式、SEQUENCE 或可重複使用的自訂清單在 Excel 中產生 A 到 Z、小寫字母或 Z 以上的標籤。

如何在 Excel 中新增刪除線:快捷鍵和逐步指南

如何在 Excel 中新增刪除線:快捷鍵和逐步指南

學習如何在 Windows、Mac 和網頁版 Excel 中新增刪除線、設定儲存格部分格式以及刪除線條而不刪除其值。

什麼是 Microsoft Access?它的資料庫工具是如何運作的?

什麼是 Microsoft Access?它的資料庫工具是如何運作的?

Microsoft Access 是一款 Windows 資料庫應用程序,用於儲存相關記錄、建立查詢、建立資料輸入表單和產生報表。了解它的工作原理以及適用場景。

如何在 Word 2010 中變更網格線高度和寬度

如何在 Word 2010 中變更網格線高度和寬度

了解如何在 Word 2010 中調整網格線高度和寬度、變更可見線頻率以及設定底層水平和垂直繪圖網格間距。

Office Outlook 2010 匯入和匯出:使用 PST 檔案移動數據

Office Outlook 2010 匯入和匯出:使用 PST 檔案移動數據

了解如何將 PST 檔案匯入 Outlook 2010 或匯出郵件、聯絡人、行事曆和任務。按照正確的選單操作,避免遺漏資料夾或重複文件。

使用 Nucleus Kernel 還原 Outlook PST 密碼

使用 Nucleus Kernel 還原 Outlook PST 密碼

使用 Kernel 的目前步驟還原忘記的 Outlook PST 密碼,包括如何識別正確的檔案、進行備份以及檢查工具的限制。

如何在 PowerPoint 幻燈片中插入網頁鏈接

如何在 PowerPoint 幻燈片中插入網頁鏈接

使用 LiveWeb 外掛程式將網站放置在 PowerPoint 投影片上,設定其大小和刷新行為,並在簡報前檢查相容性。

如何在 Word 2010 中變更預設字體和正文樣式

如何在 Word 2010 中變更預設字體和正文樣式

在 Word 2010 中設定預設字體、字號和文字效果,將選擇儲存到 Normal.dotm,然後修改 Normal 樣式以用於以後的文件。