AW: Druckbereich in Word kopieren
14.07.2016 14:38:17
Michael
Hallo Hugo!
Ich bin mir nicht sicher, was Du mit einem "variablen Druckbereich" meinst. Aber hier eine Möglichkeit, wie der aktuelle Druckbereich eines bestimmten Blattes einer Mappe, in ein bestimmtes Word-Dokument an einer bestimmten Textmarke eingefügt werden kann:
Sub BereichNachWord()
'Kopiert den aktuellen Druckbereich des gewählten Blattes und fügt diesen
'als Excel-Tabelle im angegebenen Word-Dokument an der gewählten Textmarke ein
'----- Anpassen -----
Const Wdoc As String = "H:\Privat\Revisionsbericht.docx" 'Ziel-Dokument Word
Const QBlatt As String = "Tabelle1" 'Quell-Blatt Excel
Const Tm As String = "Liste" 'Name der Word-Textmarke
'----- Ende -----
Dim Wb As Workbook
Dim WsQ As Worksheet
Dim rQ As Range
Dim oWord As Object
Dim oDoc As Object
Set Wb = ThisWorkbook 'Ausgangspunkt: Diese Mappe
Set WsQ = Wb.Worksheets(QBlatt) 'Das Quell-Blatt dieser Mappe
'Word öffnen, wenn noch nicht offen
On Error Resume Next
Set oWord = GetObject(, "Word.Application")
If Err.Number 0 Then
Set oWord = CreateObject("Word.Application")
End If
Err.Clear
On Error GoTo 0
'Ziel-Dokument öffnen
Set oDoc = oWord.Documents.Open(Wdoc)
'Quell-Bereich kopieren...
With WsQ
'.hier den aktuellen Druck-Bereich des Quell-Blattes
Set rQ = .Range(.PageSetup.PrintArea)
rQ.Copy
End With
'Prüfen ob Textmarke im Dokument vorhanden ist, und
'kopierten Bereich als Excel-Tabelle einfügen
If oDoc.bookmarks.exists(Tm) = True Then
oDoc.bookmarks(Tm).Range.PasteExcelTable False, False, False
Else:
MsgBox "Textmarke [" & Tm & "] nicht vorhanden!", vbCritical, "Fehler"
End If
'Word/Ziel-Dokument anzeigen
With oWord
.Visible = True
.ActiveWindow.WindowState = 0
.Activate
End With
End Sub
Den Pfad zum Word-Dokument hab ich schon von Dir übernommen, ebenso den Namen der Textmarke ("Liste"). Wie das Quell-Blatt in Excel heißt musst Du evtl. anpassen (bei mir "Tabelle1").
LG
Michael