如何在 Excel 中自動合併上方/左側的空白單元格?
合併是 Excel 中最複雜的操作之一。如果我們錯誤地合併單元格,資料可能會丟失並且無法恢復。我們可以使用本文中提到的方法更謹慎地進行操作,該方法只考慮空單元格。本教程將幫助您瞭解如何在 Excel 中自動合併上方或左側的空白單元格。將多個單元格組合在一起稱為**合併**。
自動合併上方空白單元格
在這裡,我們將插入一個 VBA 模組,然後執行它來完成我們的任務。讓我們看看一個簡單的過程來了解如何使用 VBA 程式碼在 Excel 中自動合併上方空白單元格。
步驟 1
考慮一個 Excel 工作表,其中包含類似於下圖所示的資料。

要開啟 VBA 應用程式,請右鍵單擊工作表名稱並選擇“檢視程式碼”,然後單擊“插入”並選擇“模組”,然後在文字框中鍵入程式 1,如下圖所示。
示例 1
Sub MergeCells() 'Update By Nirmal Dim xRg As Range Dim xCell As Range Dim xAddress As String On Error Resume Next xAddress = Application.ActiveWindow.RangeSelection.Address Set xRg = Application.InputBox("Select a range:", "Choose the Range", xAddress, , , , , 8) If xRg Is Nothing Then Exit Sub For Each xCell In xRg If xCell.Value = "" Then Range(xCell, xCell.Offset(-1, 0)).Merge End If Next End Sub

步驟 2
現在單擊 F5 執行 VBA 程式碼,然後在彈出視窗中選擇要合併的區域,然後單擊“確定”。

我們的最終輸出將如下面的圖片所示。

如果您只想允許合併上方的一個單元格,請在 VBA 應用程式中使用程式 2。
示例 2
Sub mergeblankswithabove() 'Updated By Nirmal Dim I As Long Dim xRow As Long Dim xRg As Range Dim xCell As Range Dim xAddress As String On Error Resume Next xAddress = Application.ActiveWindow.RangeSelection.Address Set xRg = Application.InputBox("Select a range (single column):", "Choose the Range", xAddress, , , , , 8) If xRg Is Nothing Then Exit Sub If xRg.Columns.Count > 1 Then MsgBox "Only work for single column", , "Range selected" Exit Sub End If xRow = xRg.Rows.Count Set xRg = xRg(xRow) For I = xRow To 1 Step -1 Set xCell = xRg.Offset(I - xRow, 0) Debug.Print xCell.Address If xCell.Value = "" Then Range(xCell, xCell.Offset(-1, 0)).Merge Next End Sub
自動合併左側空白單元格
在這裡,我們將插入 VBA 模組,然後執行它來完成我們的任務。讓我們看看一個簡單的過程來了解如何使用 VBA 程式碼自動合併 Excel 中的空白單元格(左側)。
步驟 1
考慮一個 Excel 工作表,其中包含類似於下圖所示的資料。

要開啟 VBA 應用程式,請右鍵單擊工作表名稱並選擇“檢視程式碼”,然後單擊“插入”並選擇“模組”,然後在文字框中鍵入程式 3,如下圖所示。
示例 3
Sub mergeblankswithleft() 'Update by Nirmal Dim xRg As Range Dim xCell As Range Dim xAddress As String On Error Resume Next xAddress = Application.ActiveWindow.RangeSelection.Address Set xRg = Application.InputBox("Select a range:", "Range to merge", xAddress, , , , , 8) If xRg Is Nothing Then Exit Sub For Each xCell In xRg If xCell.Value = "" Then Range(xCell, xCell.Offset(0, -1)).Merge Next End Sub

步驟 2
現在單擊 F5 執行 VBA 程式碼,然後在彈出視窗中選擇要合併的區域,然後單擊“確定”。我們的最終輸出將如下面的圖片所示。

結論
在本教程中,我們使用了一個簡單的示例來演示如何在 Excel 中自動合併空白單元格。
廣告