Объединение ячеек в Excel с помощью макроса без потери данных.

У тех, кто работает с Excel, часто возникает следующая задача - необходимо объединить несколько ячеек в одну.

Но, к сожалению, Excel обычно пытается проделать следующий фокус: объединяя выделенные ячейки, удаляет все значения в них, кроме верхнего левого. Попробуем избавить его от этой напасти, написав несложный макрос. Макрос будет объединять данные вместе, разделяя их пробелом.

 


Sub OneCell()
    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

 

 

Источник: http://mirvba.ru/makrosi-excel/obedinenie-yacheek-v-excel-s-pomoschiu-ma...