TOP

Mesclar células sem perder texto

Descrição

Suponha que temos muitas células que precisamos mesclar com o texto. No conjunto padrão Excel existe uma função semelhante: "Mesclar e centralizar" , mas ao realizar a união deixa apenas o texto da célula mais externa. Portanto, precisamos usar nossa própria macro para tais fins.


Código VBA para a macro

Para fazer isso, abra o editor Visual Basic (Alt+F11), insira o módulo VBA (Insert - Module) e copie o texto deste procedimento lá:

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

Salve e retorne para Excel.

Agora selecione as células necessárias e execute nossa macro (Alt+F8) (nome da macro: "MergeCell").