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应用程序中使用程序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模块,然后运行它来完成我们的任务。让我们看看一个简单明了的过程,了解我们如何自动合并空白单元格。在Excel中使用VBA代码留下。

第1步

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

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

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

第2步

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

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

结论

在本教程中,我们用一个简单的例子来证明我们如何在Excel中自动合并空白单元格。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程