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

更新于:2023年1月10日

2K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告