KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何在 Excel 中以固定間隔插入指定數量的列?

作者曉陽修改日期

在 Excel 工作表中,您可以透過內建的「插入」功能,手動在現有列之間加入空白列。然而,當處理大量資料,或需要定期(例如每三列、或每第 n 列後)插入兩列空白列時,手動作業不僅耗時,效率也低。自動在固定間隔插入空白列,不僅節省時間,還能減少人為錯誤,讓工作流程更加順暢。以下方法將示範如何快速又便捷地完成這項任務,包含依據特定條件或重複列插入空白列的解決方案(提供 VBA 與無 VBA 兩種版本)。


使用 VBA 程式碼在固定間隔向數據區域插入指定數量的空白列

下列 VBA 程式碼可協助您在現有資料區域中,每 n 列後自動插入指定數量的空白列,非常適合熟悉巨集、且需要高效處理中大型資料集的使用者。請依照以下步驟操作:

1. 在 Excel 中按住 ALT + F11 鍵,即可開啟 Microsoft Visual Basic for Applications 視窗。

2. 點選插入 模組,並將下列程式碼貼到模組視窗中。

VBA 程式碼:在固定間隔向資料插入指定數量的列

Sub InsertRowsAtIntervals()
'Updateby Extendoffice
Dim Rng As Range
Dim xInterval As Integer
Dim xRows As Integer
Dim xRowsCount As Integer
Dim xNum1 As Integer
Dim xNum2 As Integer
Dim WorkRng As Range
Dim xWs As Worksheet
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
xRowsCount = WorkRng.Rows.Count
xInterval = Application.InputBox("Enter row interval. ", xTitleId, 1, Type:=1)
xRows = Application.InputBox("How many rows to insert at each interval? ", xTitleId, 1, Type:=1)
xNum1 = WorkRng.Row + xInterval
xNum2 = xRows + xInterval
Set xWs = WorkRng.Parent
For i = 1 To Int(xRowsCount / xInterval)
    xWs.Range(xWs.Cells(xNum1, WorkRng.Column), xWs.Cells(xNum1 + xRows - 1, WorkRng.Column)).Select
    Application.Selection.EntireRow.Insert
    xNum1 = xNum1 + xNum2
Next
End Sub

3. 貼上程式碼後,按下 F5 執行,系統將彈出提示框,要求您選取要插入空白列的數據區域,如下圖所示:

選取資料範圍

4. 點選確定後,將出現另一個提示框,請輸入所需的列間隔——例如輸入 3,即可在每三列後插入空白列:

輸入列間隔數

5. 繼續點選確定,然後在程式碼提示時輸入欲插入的空白列數量(例如輸入 2 以插入兩列):

輸入要插入的空白列數

6. 確認選擇後,系統將依照您設定的間隔,在資料中插入空白列。請參閱下方的前後對照圖:

原始資料向右箭頭空白列已按照固定間隔插入至現有資料中

提示與注意事項:

  • 此巨集讓您靈活選取數據範圍,並自訂欄間隔及要插入的空白列數。
  • 務必先備份工作表,或先在範例工作表上測試,因為除非立即使用「復原」指令,否則插入的列將無法還原。

疑難排解:若遇到錯誤,請確認資料未經篩選,且所選區域無表格重疊。如出現非預期結果,請立即使用「復原」功能還原變更!


根據儲存格數值,使用 VBA 程式碼向數據區域插入指定數量的空白列

有時您的工作流程可能需要根據預先定義的儲存格數值清單插入空白列,例如在每筆記錄後依比對條件插入空白列。當插入邏輯並非基於固定間隔,而是依據相鄰欄位中的數值時,此 VBA 解決方案最為理想。

✅ 適用情境:

  • 當您的資料依類別(例如部門、專案階段或業務代表)進行組織,並需在各群組之間插入間距或空白列時,建議採用此方法。
  • 請務必確保選取範圍準確無誤,因為巨集將依據所選儲存格來決定插入新列的位置。

1 在 Excel 中按住 ALT + F11 鍵,開啟 Microsoft Visual Basic for Applications 視窗。

2. 點選插入 模組,並將下列程式碼貼到模組視窗中。

VBA 程式碼:根據數字清單插入指定數量的空白列:

Sub Insertblankrowsbynumbers ()
'UpdatebyExtendoffice
Dim xRg As Range
Dim xAddress As String
Dim I, xNum, xLastRow, xFstRow, xCol, xCount As Long
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select the spefic number column to use(single column):", "Kutools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
xLastRow = xRg(1).End(xlDown).Row
xFstRow = xRg.Row
xCol = xRg.Column
xCount = xRg.Count
Set xRg = xRg(1)
For I = xLastRow To xFstRow Step -1
xNum = Cells(I, xCol)
If IsNumeric(xNum) And xNum > 0 Then
Rows(I + 1).Resize(xNum).Insert
xCount = xCount + xNum
End If
Next
xRg.Resize(xCount, 1).Select
Application.ScreenUpdating = True
End Sub

3. 貼上程式碼後,按下 F5 執行。在出現的對話框中,選取用於決定空白列插入位置的數字清單(或相關儲存格)。

選取用來決定插入空白列數量的數字清單

4. 接著,點擊確定,即可看到如下方螢幕截圖所示的預期結果:

原始資料向右箭頭根據儲存格值插入空白列

錯誤提醒:若參考清單包含空白儲存格或非數值資料,請先檢查程式碼邏輯,或於執行此巨集前清理資料。


使用實用功能,在固定間隔插入特定數量的空白列至數據區域中

如果您不想使用 VBA,或偏好更直觀互動的操作方式,Kutools for Excel 提供專屬的插入空白行/列功能!只需簡單點擊,即可在整個資料區域中依指定間隔快速新增空白列或欄位,大幅提升重複性報表製作與格式設定的效率!

Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊……         免費試用……

安裝 Kutools for Excel 後,請依照下列步驟操作:

1. 選取需要以固定間隔插入空白列的資料範圍。

2. 前往 Kutools > 插入 > 插入空白行/列,如下圖所示:

點擊 Kutools 的「插入空白列與欄」功能

3. 在插入空白行與欄位對話方塊中,於空白列下方選擇插入類型,並指定間隔與要插入的空白列數量,如下圖所示:

在對話框中指定選項

注意:此設定具彈性!若您希望每四筆資料列後插入兩列空白列,只需將間隔設為 4、空白列數量設為 2 即可。

4. 接著點擊確定按鈕,系統將依照您設定的間隔,在選取區域內插入空白列,如下圖所示:

原始資料向右箭頭空白列已按照特定間隔插入至所選範圍中

優點:此解決方案操作簡便、無需編寫程式碼,特別適合經常需要調整欄列結構的使用者。

立即下載並免費試用 Kutools for Excel!


使用 Excel 公式在固定間隔插入特定數量的空白列

即使無法使用巨集或增益集,您仍可善用輔助欄與 Excel 內建函數(例如 )MODROW),輕鬆在固定間隔插入空白列。當腳本功能受限,但基本公式與排序功能仍可使用時,此方法尤其實用!

✅ 適用情境:適合希望工作簿不含巨集、需確保廣泛相容性,或準備匯入/匯出資料並透過空白列進行視覺分隔的使用者。

⚠️ 注意事項:此方法實際上並未插入空白列,而是透過額外列與輔助公式來模擬空白列效果。您需在操作後對資料進行排序,以正確安排這些模擬的空白列。此為適用於中小型資料集的替代方案。

步驟:

  1. 假設您的資料位於儲存格 A2:B11. 請在新的輔助欄(例如從 C2 開始的 C 欄)中輸入下列公式:
    =INT((ROW()-ROW($A$2))/(n+1))
    n 替換為您希望插入空白列的間隔數。例如,若要在每 3 列後插入一列空白列,請使用:
    =INT((ROW()-ROW($A$2))/3)
  2. 將公式向下拖曳至整個資料集旁,即可自動指派群組編號。
  3. 在最後一筆資料列下方,於 A 欄和 B 欄新增空白值的額外列,並在 C 欄(輔助欄)中輸入與現有資料相符的群組編號,確保這些空白列能正確歸屬至對應群組。
  4. 選取完整範圍(原始資料+新增列),接著依輔助欄位排序,並視需要套用次要排序。完成後,空白列將會出現在每 n 筆資料列之後。

🟡 錯誤提醒:

  • 務必為您的空白列指定正確的群組編號——若編號不匹配,將導致這些列出現在非預期的位置。
  • 請注意,此方法僅會在排序後新增實體欄位,因此請務必於儲存或匯出前確認最終版面配置。

摘要與提示:雖然效率不及 VBA 或 Kutools 等工具,但此基於公式的做法具備廣泛相容性,且無需依賴腳本。對於偶爾執行或輕量級任務來說,這是一種簡單又靈活的替代方案!


使用 VBA 程式碼根據特定數字多次複製並插入行

若您的任務不僅要插入空白列,還需根據獨立的數字清單,將現有資料列複製並重複插入指定次數(例如用於銷售訂單、情境模擬或資源規劃),以下 VBA 程式碼可為您提供高效實用的自動化解決方案。

原始資料向右箭頭根據特定數字多次複製並插入列

請依照下列詳細步驟操作:

1. 在 Excel 中按住 ALT + F11,即可開啟 Microsoft Visual Basic for Applications 視窗。

2. 點選插入 模組,並將下方程式碼貼上至模組視窗中。

VBA 程式碼:根據特定數字多次複製並插入行:

Sub CopyRows()
'UpdatebyExtendoffice
Dim xRg As Range
Dim xCRg As Range
Dim xFNum As Integer
Dim xRN As Integer
On Error Resume Next
SelectRange:
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select the list of numbers to copy the rows based on: ", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub

If xRg.Columns.Count > 1 Then
MsgBox "Please select single column!"
GoTo SelectRange
End If
Application.ScreenUpdating = False
For xFNum = xRg.Count To 1 Step -1
Set xCRg = xRg.Item(xFNum)
xRN = CInt(xCRg.Value)
With Rows(xCRg.Row)
.Copy
.Resize(xRN).Insert
End With
Next
Application.ScreenUpdating = True
End Sub

注意事項:執行會重複資料列的 VBA 指令碼前,務必先備份資料,因其可能迅速倍增資料且難以復原。

3. 將程式碼置入後,按下 F5 以執行巨集。在對話方塊中,選取代表每列需複製插入次數的數字清單。

選取用來決定複製並插入資料列次數的數字清單

4. 按一下確定,系統便會將指定數量的資料列複製並插入至各原始列下方,如下圖所示:

原始資料向右箭頭根據指定數量,將列複製並貼到每個原始列下方

提示:此解決方案適用於資料準備作業,但不適用於即時輸入——因執行其他無關操作後,VBA 巨集將無法復原。


使用強大功能根據特定數字多次複製並插入行

對於希望以直觀方式複製與插入行列、且無需任何程式設計技能的使用者來說,Kutools for Excel根據指定數據複製或插入行列功能是高效又便捷的替代方案!只需簡單選取參照儲存格值或清單,即可輕鬆指定要複製的列或欄及其重複次數。

Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊……         免費試用……

安裝 Kutools for Excel 後,請依照下列步驟操作:

1. 前往 Kutools > 插入 > 根據指定數據複製或插入行列,如下圖所示:

點擊 Kutools 的「根據儲存格值重複列/欄」功能

2. 在複製並插入行或列對話方塊中,選取複製並插入行作為類型,標示要複製的資料區域,並指定用作複製依據的數值清單,如下圖所示:

在對話框中設定選項

提示:此功能適用於生成測試樣本、複製交易模板,或無需複雜指令碼即可快速倍增設定與記錄。

4. 最後,點擊確定套用,即可產生如下圖所示的輸出結果:

原始資料向右箭頭根據指定數量,將列複製並貼到每個原始列下方

注意:請確保您的數值清單與資料正確對應,才能獲得預期結果。

立即下載並免費試用 Kutools for Excel!

更多相關文章:

  • 複製並多次插入列,或將列重複 X 次
  • 在日常工作中,您是否曾想複製某一列(或所有列),並在目前資料列下方重複插入多次?舉例來說,我有一個儲存格範圍,現在希望將每一列複製並貼上三次到下一列,如下圖所示。在 Excel 中,該如何快速完成這項操作?
  • 在 Excel 中,當數值變更時插入空白列
  • 假設您有一組資料,希望在數值變更的位置插入空白列,以分隔同一欄中連續相同的數值(如下圖所示)。本文將介紹幾種實用技巧,協助您輕鬆達成此目標。
  • 根據條件從多個工作表複製列至新工作表
  • 假設您有一個包含三張工作表的活頁簿,其格式如下圖所示。現在,您希望將這些工作表中 C 欄含有「Completed」的所有列,快速複製到一個新工作表。該如何輕鬆達成此目標,而不必逐一手動複製貼上?

最佳 Office 生產力工具

🤖KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值     刪除空白行     合併列或儲存格而不遺失資料     不使用公式的四捨五入……
高級 LOOKUP多重條件 VLookup    多重數值 VLookup     跨多個工作表 VLookup      模糊查找……
高級下拉列表快速建立下拉式清單     相依式下拉式清單     多選下拉式清單……
欄位管理員新增指定數量的欄位移動欄位切換隱藏欄位的可見狀態比較範圍與欄位……
精選功能網格聚焦     設計視圖   增強編輯欄    工作簿與工作表管理員     資源庫(自動文字)  日期提取     合併工作表    加密/解密儲存格    依清單傳送電子郵件     超級篩選      特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符,……)   50+ 圖表 類型甘特圖,……)   40+ 實用公式基於生日計算年齡,……)   19 插入工具插入二維碼從路徑插入圖片,……)   12 轉換工具金額轉大寫匯率轉換,……)   7 合併和拆分工具高級合併行分割儲存格,……)……以及更多
在您的慣用語言中使用 Kutools—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!

運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……


Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!

  • 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
  • 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
  • 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!

所有 Kutools 增益集,一個安裝程式

Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!

ExcelWordOutlookTabsPowerPoint
  • 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
  • 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
  • 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
  • 30 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用