TOP

合并单元格而不丢失文本

描述

假设我们有许多单元格需要与文本合并在一起。在标准集Excel中有一个类似的函数: “合并和中心” ,但是在执行并集时,它只留下最外层单元格的文本。所以我们需要使用我们自己的宏来达到这样的目的。


VBA 宏代码

为此,请打开 Visual Basic 编辑器 (Alt+F11), 插入 VBA 模块 (Insert - Module )并将此过程的文本复制到此处:

Sub MergeToOneCell()
    'moonexcel.com.ua
    Const sDELIM    As String = " "
    Dim   rCell     As Range
    Dim   sMergeStr As String
    
    If TypeName(Selection) <> "Range" Then Exit Sub
    
    With Selection
        For Each rCell In .Cells
            sMergeStr = sMergeStr & sDELIM & rCell.Text
        Next rCell
        
        Application.DisplayAlerts = False
        .Merge Across:=False
        Application.DisplayAlerts = True
        
        .Item(1).Value = Mid(sMergeStr, 1 + Len(sDELIM))
    End With
End Sub

保存并返回Excel。

现在选择所需的单元格并运行我们的宏 (Alt+F8)(宏名称:“MergeCell”)。