Hey there,
I searched the first two pages for an answer but it seems a little too particular of a problem
I am trying to create a VBA macro that copies tables from an excel worksheet and pastes it into a word document
I run into two problems:
1. I don't know how to refer to the end of the document in the Paste Table into MS Word section
2. For some unknown reason the code just stops after this part and won't complete the last three functions
Here's the whole thing for you to review
Thanks in advance!
I searched the first two pages for an answer but it seems a little too particular of a problem
I am trying to create a VBA macro that copies tables from an excel worksheet and pastes it into a word document
I run into two problems:
1. I don't know how to refer to the end of the document in the Paste Table into MS Word section
VBA Code:
'Paste Table into MS Word
myDoc.Paragraphs(271).Range.PasteExcelTable _
LinkedToExcel:=False, _
WordFormatting:=False, _
RTF:=False
2. For some unknown reason the code just stops after this part and won't complete the last three functions
VBA Code:
'the code stops here for some reason
'Autofit Table so it fits inside Word Document
Set WordTable = myDoc.Tables(1)
WordTable.AutoFitBehavior (wdAutoFitWindow)
EndRoutine:
'Optimize Code
Application.ScreenUpdating = True
Application.EnableEvents = True
'Clear The Clipboard
Application.CutCopyMode = False
Here's the whole thing for you to review
Thanks in advance!
VBA Code:
Sub Block3()
'PURPOSE: Copy/Paste An Excel Table Into a New Word Document
'NOTE: Must have Word Object Library Active in Order to Run _
(VBE > Tools > References > Microsoft Word 12.0 Object Library)
'SOURCE: www.TheSpreadsheetGuru.com
Dim tbl As Excel.Range
Dim WordApp As Word.Application
Dim myDoc As Word.Document
Dim WordTable As Word.Table
'Optimize Code
Application.ScreenUpdating = False
Application.EnableEvents = False
'Copy Range from Excel
Set tbl = ThisWorkbook.Worksheets("ôìè ãéååçéí").ListObjects("Table1").Range
'Create an Instance of MS Word
On Error Resume Next
'Is MS Word already opened?
Set WordApp = GetObject(class:="Word.Application")
'Clear the error between errors
Err.Clear
'If MS Word is not already open then open MS Word
If WordApp Is Nothing Then Set WordApp = CreateObject(class:="Word.Application")
'Handle if the Word Application is not found
If Err.Number = 429 Then
MsgBox "Microsoft Word could not be found, aborting."
GoTo EndRoutine
End If
On Error GoTo 0
'Make MS Word Visible and Active
WordApp.Visible = True
WordApp.Activate
'Find the Word document
Set myDoc = WordApp.Documents.Open("C:\Users\User\Desktop\îà÷øå èáìàåú ãéååç ìååøã\ãéååçéí\1.docx")
'Create new page
WordApp.ActiveDocument.Sections.Add
WordApp.Selection.GoTo what:=wdGoToPage, which:=wdGoToNext
'Copy Excel Table Range
tbl.Copy
'Paste Table into MS Word
myDoc.Paragraphs(271).Range.PasteExcelTable _
LinkedToExcel:=False, _
WordFormatting:=False, _
RTF:=False
'the code stops here for some reason
'Autofit Table so it fits inside Word Document
Set WordTable = myDoc.Tables(1)
WordTable.AutoFitBehavior (wdAutoFitWindow)
EndRoutine:
'Optimize Code
Application.ScreenUpdating = True
Application.EnableEvents = True
'Clear The Clipboard
Application.CutCopyMode = False
End Sub