Копирование таблицы из excel в word - VBA

Узнай цену своей работы

Формулировка задачи:

Добрый день! Необходимо копировать таблицу из Excel в файл ворд, шаблон файла ворд я сделал. Написал несколько строк макроса. Но как правильно скопировать диапазон ячеек из excel в word я не знаю, причем в ворд мне нужно скопировать на середину листа. Помогите пожалуйста, макрос почти готов.
Листинг программы
  1. Const ИмяШаблона = "Письмо.dot"
  2. Const РасширениеСоздаваемыхФайлов = ".doc"
  3. Const Искомый текст = "Таблица"
  4. Sub Сформировать()
  5. r = Cells(Rows.Count, "A").End(xlUp).Row
  6. 'MsgBox r
  7. ReplaceText = ActiveWorkbook.ActiveSheet.Range("A4:F" & r).Copy
  8. ПутьШаблона = Replace(ThisWorkbook.FullName, ThisWorkbook.Name,ИмяШаблона)
  9. Dim WA As Object, WD As Object: Set WA = CreateObject("Word.Application")
  10. Filename = ActiveWorkbook.Path & "Письмо" & ActiveWorkbook.Name & РасширениеСоздаваемыхФайлов
  11. Set WD = WA.Documents.Add(ПутьШаблона): DoEvents
  12. DoEvents
  13. End Sub
Т.е. меня интересует как скпировать диапазон ячеек в word в определенное место.
Прошу прощения проблема с этой строкой в коде выше забыл одну ключевую строку а проблема именно в ней
Листинг программы
  1. WD.Bookmarks("Таблица").Selection.Paste
Ниже привожу полный код моего макроса
Листинг программы
  1. Const ИмяШаблона = "Письмо.dot"
  2. Const РасширениеСоздаваемыхФайлов = ".doc"
  3. Const Искомый текст = "Таблица"
  4. Sub Сформировать()
  5. r = Cells(Rows.Count, "A").End(xlUp).Row
  6. 'MsgBox r
  7. ReplaceText = ActiveWorkbook.ActiveSheet.Range("A4:F" & r).Copy
  8. ПутьШаблона = Replace(ThisWorkbook.FullName, ThisWorkbook.Name,ИмяШаблона)
  9. Dim WA As Object, WD As Object: Set WA = CreateObject("Word.Application")
  10. Filename = ActiveWorkbook.Path & "Письмо" & ActiveWorkbook.Name & РасширениеСоздаваемыхФайлов
  11. Set WD = WA.Documents.Add(ПутьШаблона): DoEvents
  12. WD.Bookmarks("Таблица").Selection.Paste
  13. DoEvents
  14. End Sub

Решение задачи: «Копирование таблицы из excel в word»

textual
Листинг программы
  1.    dx.Worksheets(list).Range(ci).Copy' копирование в буфер региона
  2.   odoc.Bookmarks("Описание").Range.PasteExcelTable False, False, False

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут