ВГОРУ

Об'єднання комірок без втрати тексту

Опис

Припустимо, ми маємо багато комірок, які нам потрібно об'єднати разом із текстом. В стандартному наборі Excel є подібна функція: "Об'єднати та розташувати в центрі", проте здійснюючи об'єднання, вона залишає текст лише крайньої комірки. Тому нам потрібно скористатися власним макросом для таких цілей.


VBA код для макросу

Для цього відкрийте редактор Visual Basic (Alt+F11), вставте VBA модуль (Insert - Module) і скопіюйте туди текст цієї процедури:

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

Збережіть та поверніться в Excel.

Тепер виділіть необхідні комірки та запустіть наш макрос (Alt+F8) (назва макроса: "MergeCell").