Копирование информации листа для слова с помощью VBA в Microsoft Excel
_Если вам необходимо скопировать и вставить данные из нескольких листов Excel в MS Word, вам следует прочитать эту статью. В Excel нет такой функции, которая позволяла бы конвертировать данные из книги Excel в файл Word. Приложение Word не может открывать файлы Excel напрямую. Однако данные Excel можно скопировать и вставить в слово, а затем сохранить как документ Word.
Все мы переносим данные из Excel в Word вручную, что иногда становится утомительным, когда приходится выполнять одни и те же действия слишком много раз в день; чтобы избежать ручных шагов, мы напишем код VBA для выполнения всех шагов ._
В этой статье мы сосредоточимся на перемещении данных из Excel в документ Word. Мы автоматизируем всю процедуру с помощью кода VBA. С помощью кода макроса вы можете просто скопировать данные на один рабочий лист за один раз, и тогда приложение Word будет запущено автоматически, а код VBA будет использовать команду вставки для вставки данных в файл doc.
Получить код; нам нужно выполнить следующие шаги, чтобы запустить редактор VB:
Щелкните вкладку «Разработчик». В группе «Код» выберите Visual Basic
Есть важный шаг, который вы не должны пропустить. Нажмите «Инструменты», чтобы выбрать «Ссылки». Прокрутите вниз, пока не найдете «Библиотека объектов Microsoft Word 15.0». Убедитесь, что вы установили флажок; см. изображение ниже
-
Скопируйте приведенный ниже код в стандартный модуль
Sub CopyWorksheetsToWord() Dim wdApp As Word.Application, wdDoc As Word.Document, ws As Worksheet Application.ScreenUpdating = False Application.StatusBar = "Creating new document..." Set wdApp = New Word.Application Set wdDoc = wdApp.Documents.Add For Each ws In ActiveWorkbook.Worksheets Application.StatusBar = "Copying data from " & ws.Name & "..." ws.UsedRange.Copy wdDoc.Paragraphs(wdDoc.Paragraphs.Count).Range.InsertParagraphAfter wdDoc.Paragraphs(wdDoc.Paragraphs.Count).Range.Paste Application.CutCopyMode = False wdDoc.Paragraphs(wdDoc.Paragraphs.Count).Range.InsertParagraphAfter If Not ws.Name = Worksheets(Worksheets.Count).Name Then With wdDoc.Paragraphs(wdDoc.Paragraphs.Count).Range .InsertParagraphBefore .Collapse Direction:=wdCollapseEnd .InsertBreak Type:=wdPageBreak End With End If Next ws Set ws = Nothing Application.StatusBar = "Cleaning up..." With wdApp.ActiveWindow If .View.SplitSpecial = wdPaneNone Then .ActivePane.View.Type = wdNormalView Else .View.Type = wdNormalView End If End With Set wdDoc = Nothing wdApp.Visible = True Set wdApp = Nothing Application.StatusBar = False End Sub
===
Чтобы протестировать код, давайте вставим 2 листа и добавим случайные числа. Ниже приведены снимки обоих рабочих листов:
1-й лист: —
2-й лист: —
После настройки данных в рабочие листы; мы можем запустить макрос. Приложение Word будет запущено немедленно, и данные будут скопированы со всех листов в Word; см. ниже снимок
Если вы думаете, что копирование данных — это одна задача, но между данными каждого листа должен быть разрыв страницы, чтобы любой мог легко различать данные из каждого листа.
Приведенные выше данные будут скопированы с одного листа, а затем код VBA обязательно добавит разрыв страницы между страницами.
Заключение: Таким образом, мы можем помочь многим пользователям Microsoft Office, которые думают, что преобразование данных из файла Excel в Word немного сложно или невозможно. Приведенный выше код продемонстрировал, насколько легко можно копировать и вставлять данные в файл Word без каких-либо проблем из нескольких листов Excel в файл Word.
Если вам понравились наши блоги, поделитесь ими с друзьями на Facebook. А также вы можете подписаться на нас в Twitter и Facebook .
Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить, дополнить или усовершенствовать нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]