Статьи из блога
Статьи из блога
Как объединить одинаковые таблицы
Рубрика: Вопрос-Ответ, Макросы, Таблицы Word
Метки: макросы | таблицы
Четверг, 9 октября 2008 г.
Просмотров: 8881
Подписаться на комментарии по RSS
Версия для печати
Метки: макросы | таблицы
Четверг, 9 октября 2008 г.
Просмотров: 8881
Подписаться на комментарии по RSS
Версия для печати
Александр спрашивает:
У меня Word 2003. Таблица, загруженная с Интернета, разорвана командой "Разбить таблицу". Вопрос: Как её соединить обратно?
Похожий вопрос был задан недавно на форуме ru-board.com. Пользователь спрашивал, как ему объединить несколько одинаковых по структуре таблиц в одну.
Я предлагаю воспользоваться следующим макросом (автор Helmut Weber). Однако, будьте аккуратны и осторожны, так как если между вашими таблицами есть какой-то текст, то он будет удален.
Sub delParSignBetweenTables()
'удаление знаков абзаца между таблицами с одинаковой структурой
'если в документе после таблиц есть текст, а после этого текста
'идет другая таблица, то текст над этой таблицей будет удален
Dim oTbl1 As Table
Dim oTbl2 As Table
Dim rtmp As Range
Dim i As Long
Set rtmp = Selection.Range
With ActiveDocument
i = .Tables.Count
While i > 1
Set oTbl2 = .Tables(.Tables.Count)
Set oTbl1 = .Tables(.Tables.Count - 1)
rtmp.Start = oTbl1.Range.End
rtmp.End = oTbl2.Range.Start
rtmp.Delete
i = .Tables.Count
Wend
End With
End Sub
Если вы не знаете, как подключить к документу и применить этот макрос, изучите следующие заметки с сайта:

Поиск
Рубрики
Подписка
Читают
Обсуждают
страницы
сайты
статистика
Комментариев: 1
Код можно немного упростить
With ActiveDocument While .Tables.Count > 1 Set oTbl2 = .Tables(.Tables.Count) Set oTbl1 = .Tables(.Tables.Count - 1) rtmp.Start = oTbl1.Range.End rtmp.End = oTbl2.Range.Start rtmp.Delete Wend End With