Excel 2010 Macro Export to Word

 

Export to Word transfers data from Excel to the first table found in a Word document. It uses early binding, so a reference must be set up in the VB Editor using Tools, References to the Microsoft Word object library:

Sub Export_Data_Word_Table()

Dim wdApp As Word.Application

Dim wdDoc As Word.Document

Dim wdCell As Word.Cell

Dim i As Long

Dim wbBook As Workbook

Dim wsSheet As Worksheet

Dim rnData As Range

Dim vaData As Variant

Set wbBook = ThisWorkbook

Set wsSheet = wbBook.Worksheets(“Sheet1”)

With wsSheet

    Set rnData = .Range(“A1:A10”)

End With

‘Add the values in the range to a one-dimensional variant-array.

vaData = rnData.Value

‘Here we instantiate the new object.

Set wdApp = New Word.Application

‘Here the target document resides in the same folder as the workbook.

Set wdDoc = wdApp.Documents.Open(ThisWorkbook.Path & “\Test.docx”)

•Import data to the first table and in the first column of a ten-row table.

For Each wdCell In wdDoc.Tables(1).Columns(1).Cells

    i = i + 1

    wdCell.Range.Text = vaData(i, 1)

Next wdCell

•Save and close the document.

With wdDoc

    .Save

    .Close

End With

•Close the hidden instance of Microsoft Word.

wdApp.Quit

•Release the external variables from the memory

Set wdDoc = Nothing

Set wdApp = Nothing

MsgBox •The data has been transfered to Test.docx.Ž, vbInformation

End Sub