Доброго времени суток. Помогите пожалуйста написать макрос который копирует диапазон из Excel и вставляет его в открытый документ Word (где стоит курсор) при этом не изменяя форматирование. Если открытого документа нет, то создает новый. Нашел подобный макрос от The_Prist, но он к сожалению не работает.
Дмитр_ написал: макрос от The_Prist , но он к сожалению не работает.
А вы уверены, что код в вашем файле и код The_Prist совпадают?
Код
Sub ВставитьWord()
Dim LastRow As Long
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
Dim objWrdApp As Object, objWrdDoc As Object
On Error Resume Next
Set objWrdApp = GetObject(, "Word.Application")
If objWrdApp Is Nothing Then
Select Case MsgBox("Не найдено открытых документов Word. Создать новый?", 52, "")
Case 6 ' Да
Set objWrdApp = CreateObject("Word.Application")
objWrdApp.Visible = True
Set objWrdDoc = objWrdApp.Documents.Add
Case 7 ' Нет
Exit Sub
End Select
Else
Set objWrdDoc = objWrdApp.activedocument
End If
ThisWorkbook.Sheets(1).Range(Cells(2, 1), Cells(LastRow, 4)).Copy
objWrdDoc.ActiveWindow.Selection.Paste
Application.CutCopyMode = False
Set objWrdDoc = Nothing
Set objWrdApp = Nothing
End Sub
коды не совпадают. Я брал код за основу и сам исправлял, но чёт не получается. Дима вы исправили код, но он все равно не работает. В чем может быть причина?