如何在Excel中自动合并上方或左侧的空单元格

如何在Excel中自动合并上方或左侧的空单元格

合并是Excel中最复杂的过程之一。如果我们合并单元格不正确,则可能会丢失数据并无法恢复。我们可以使用本文中提到的流程更加谨慎地进行操作,该流程仅考虑空单元格。本教程将帮助您了解如何在Excel中自动合并上方或左侧的空单元格。将多个单元格合并在一起称为 合并。

自动合并空白单元格以上

在此处,我们将插入一个VBA模块,然后运行它以完成我们的任务。让我们看一个简单的流程,了解如何使用vba代码自动合并Excel中的空白单元格以上。

步骤1

考虑一个Excel表格,其数据与下图所示相似。

如何在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

如何在Excel中自动合并上方或左侧的空单元格

步骤2

现在单击F5以运行VBA代码,然后在弹出窗口中选择要合并的范围,然后单击确定。

如何在Excel中自动合并上方或左侧的空单元格

我们的最终输出将如下图所示。

如何在Excel中自动合并上方或左侧的空单元格

如果您只想允许合并其中一个单元格,请在VBA应用程序中使用Program 2。

示例2

子 mergeblankswithabove()
'由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 = 应用程序.活动窗口.选定区域.地址
   Set xRg = 应用程序.输入框("选择范围(单列):" , "选择区域", xAddress, , , , 8)
   If xRg Is Nothing Then Exit Sub
   If xRg.Columns.Count > 1 Then
      MsgBox "仅限单列", , "已选择范围"
      Exit Sub
   End If
   xRow = xRg.Rows.Count
   Set xRg = xRg(xRow)
   For I = xRow To 1 Step -1
      Set xCell = xRg.偏移(I - xRow, 0)
      Debug.Print xCell.地址
      If xCell.Value = "" Then Range(xCell, xCell.偏移(-1, 0)).Merge
   Next
End Sub

自动合并左侧空单元格

在这里,我们将插入VBA模块然后运行它以完成我们的任务。我们将展示一个简单的流程来说明如何使用VBA代码自动合并Excel中的空单元格。

步骤1

考虑一个带有类似下面图片中所示数据的Excel表格。

如何在Excel中自动合并上方或左侧的空单元格

要打开VBA应用程序,右击工作表名称,然后选择“查看代码”,然后单击插入,选择模块,然后在文本框中输入Program 3,如下图所示。

示例3

子 mergeblankswithleft()
'由Nirmal更新
   Dim xRg As Range
   Dim xCell As Range
   Dim xAddress As String
   On Error Resume Next
   xAddress = 应用程序.活动窗口.选定区域.地址
   Set xRg = 应用程序.输入框("选择范围:" , "合并范围", xAddress, , , , , 8)
   如果 xRg 为 Nothing 则退出子程序
   对于每个 xCell 在 xRg 中
      如果 xCell 值为 "",则 Range(xCell, xCell.Offset(0, -1)).Merge
   Next
End Sub

如何在Excel中自动合并上方或左侧的空单元格

步骤2

现在点击 F5 运行 VBA 代码,然后在弹出窗口中选择要合并的范围,然后点击“确定”。我们的最终输出将如下图所示。

如何在Excel中自动合并上方或左侧的空单元格

结论

在本教程中,我们使用了一个简单的示例演示了如何在 Excel 中自动合并空单元格。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程