TOP

Mesclar células sem perder texto

Descrição

Suponha que temos muitas células que precisamos mesclar com o texto. O conjunto padrão Excel possui uma função semelhante: "Mesclar e centralizar", mas ao realizar a mesclagem, 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 MergeCell()
    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").