答:可以使用VBA 来完成。参照我下方的图,代码从A2开始。
按ALT+F11组合键,打开VB窗口,执行"插入"-"模块",复制下面代码进去,按F5运行程序即得到结果。
Sub Demo()
Dim Rng As Range
Dim TempStr As String
Dim Cell As Range
Application.DisplayAlerts = False
Set Rng = Range("A2")
Do Until IsEmpty(Rng)
With Rng
If .MergeCells Then
For Each Cell In .Offset(0, 1).Resize(.MergeArea.Rows.Count, 1)
TempStr = TempStr & Cell & vbCrLf
Next
.Offset(0, 1).Resize(.MergeArea.Rows.Count, 1).Merge
.Offset(0, 1) = Left(TempStr, Len(TempStr) - 1)
End If
End With
TempStr = ""
Set Rng = Rng.Offset(1, 0)
Loop
Application.DisplayAlerts = True
MsgBox "合并完成"
End Sub
以下程序运行前后截图。
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/8601a18b87d6277fc776b63f24381f30e924fc55?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/024f78f0f736afc34205bb62bf19ebc4b74512af?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)