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