如何在 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 中自动合并空白单元格。
广告