Страница 1 из 1

Правильно разъединить ячейки макросом

Добавлено: 07 сен 2007, 09:43
vadim245
Нужно, чтобы при разъединении вертикально объединенных 3-х ячеек в каждой отдельной ячейке оказалось содержимое того, что было в объединенной ячейке.
Как?

Re: Правильно разъединить ячейки макросом

Добавлено: 07 сен 2007, 14:14
Vikar
Допустим объеденены ячейки A1:A3.
Тогда можно сделать так:

Код: Выделить всё

Sub Un_Merge()
    a = Cells(1, 1)
    Cells(1, 1).UnMerge
    Range(Cells(1, 1), Cells(3, 1)) = a
End Sub
Если нужно то же сделать с целым столбцом (или строкой), то вместо фиксированных значений a = Cells(1, 1) можно использовать переменные a = Cells(i, j) меняя их значения в цикле.

Re: Правильно разъединить ячейки макросом

Добавлено: 10 сен 2007, 07:43
vadim245
Помогите пожалуйста с кодом - нужно работая только с выделенными ячейками -
разъединять (тоже чтоб то что было в общей ячейке попало во все три ячейки) последовательно идущие сверху вниз объединенные по 3 штуки.

Re: Правильно разъединить ячейки макросом

Добавлено: 10 сен 2007, 10:30
Serge_Bliznykov
vadim245 писал(а):Помогите пожалуйста с кодом - нужно работая только с выделенными ячейками -
разъединять (тоже чтоб то что было в общей ячейке попало во все три ячейки) последовательно идущие сверху вниз объединенные по 3 штуки.
вот рабочий код. может можно и короче, но, главное, работает.
Выделяете нужные ячейки (можно хоть весь столбец) и вызываете макрос

Код: Выделить всё

Sub Un_Merge_AllSelected()
 Dim c As Range
 Dim ma As Range
 Dim a As Variant
 For Each c In Selection
    With c
      If .MergeCells Then
        Set ma = .MergeArea
        a = c.Value
        .MergeArea.UnMerge
        ma.Value = a
      End If
    End With
 Next
End Sub

Re: Правильно разъединить ячейки макросом

Добавлено: 10 сен 2007, 11:33
vadim245
ШАМАН, однако :-)
Спасибо!