有时候,我们需要合并多个单元格,然而,当选择要合并的单元格,并使用“合并单元格”命令后,Excel会给出如下图1所示的提示,只保留左上角单元格中的数据。
图1
那么,如何合并单元格且保留所有数据呢?这里介绍2种方法。
方法1:巧用填充
首先,选择所有单元格。(注意,想要合并的所有单元格应该在同一列中)
然后,调整列宽以便在一个单元格中能够容纳所有要合并的单元格中的内容。
下一步,单击功能区“开始”选项卡“编辑”组中“填充——两端对齐”命令。此时,所选单元格中的文本将被重新输入到最上方的单元格。(如果是2行或多行,表明一开始调整的列宽不足以容纳所有内容)
接着,选择所有单元格并合并。
最后,调整列宽使所有数据在不同行中。
完整的操作如下图2所示。
图2
这种方法虽然快速,但有下列局限:
- 如果所选单元格包含数字或公式,则无效。
- 仅处理单列中的单元格,如果单元格跨多列则无效。
方法2:使用VBA
可以使用下面的代码合并所选单元格:
Sub MergeCells()
'连接所选单元格中的所有内容并将其放入最上方单元格
'然后合并所有单元格
Dim strOutput As String
Dim rng As Range
Const delim = " "
On Error Resume Next
For Each rng In Selection
strOutput = strOutput & rng.Value & delim
Next rng
With Selection
.Clear
.Cells(1).Value = strOutput
.Merge
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = True
End With
End Sub