Форум по VBA и MS Office

Word => Макросы в Word => Тема начата: Эльвира от 19 августа 2019, 16:38

Название: Word VBA Макросы: Копирование части таблицы и вставка на новый лист.
Отправлено: Эльвира от 19 августа 2019, 16:38
Подскажите, как скопировать первые 7 строк таблицы (состоящей из 2 столбцов и 14 строк) и вставить их на следующей странице (получается создав разрыв и новую таблицу), при том сохранив содержимое 1 столбца и оставив пустыми ячейки из 2 столбца?

Разрыв страницы нужно сделать сразу после таблицы.

Макрос должен работать с таблицей, в которой находится курсор.
Название: Re: Word VBA Макросы: Копирование части таблицы и вставка на новый лист.
Отправлено: Администратор от 20 августа 2019, 11:34
Перед запуском макроса поставьте курсор в таблицу, в любую ячейку.

Макрос
Sub Макрос()

    Dim табл As Table, rng As Range
   
   
    '1. Присваиваем имя "табл" выделенной таблице или таблице, в которой находится курсор.
    Set табл = Selection.Tables(1)
   
    '2. Вставка разрыва страницы после таблицы.
    '1) Устанавливаем невидимый курсор после таблицы.
    Set rng = табл.Range
    rng.Collapse Direction:=wdCollapseEnd
    '2) Вставка разрыва.
    rng.InsertBreak Type:=wdPageBreak
   
    '3. Копируем в буфер обмена строки 1 - 7.
    табл.Rows(1).Select
    Selection.MoveDown Unit:=wdLine, Count:=6, Extend:=True
    Selection.Copy
   
    '4. Вставляем скопированное в начало следующей страницы.
    rng.Paste
   
    '5. Присваиваем имя вставленной таблице.
    Set табл = rng.Tables(1)
   
    '6. Очистка в таблице столбца 2.
    табл.Columns(2).Select
    Selection.Delete
   
End Sub
[свернуть]
Название: Re: Word VBA Макросы: Копирование части таблицы и вставка на новый лист.
Отправлено: Эльвира от 20 августа 2019, 15:39
Всё замечательно работает! Огромнейшая благодарность!