ВВЕРХ

Объединение ячеек без потери текста

Описание

Допустим, у нас есть много ячеек, которые нам нужно объединить вместе с текстом. В стандартном наборе 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").