Microsoft Excel

Herbers Excel/VBA-Archiv

Makro zum Excel inhalt in Word

Betrifft: Makro zum Excel inhalt in Word von: Martin
Geschrieben am: 14.10.2014 09:34:03

Hallo

ich möchte mit einem Makro folgendes machen: In einer Excel Arbeitsmappe soll aus dem Arbeitsblatt "RECHNUNGEN" die zeilen A5 bis G51 in ein Word Dokument oder besser noch in eine Vorlage kopiert werden. Die VOrlage würde genau so heißen nur halt mit Dotx am ende.

hier der Code den ich geschrieben habe:

Sub NachWordKopieren()
Dim wd As Object
Range("Rechnung!A5:G51").Copy
Set wd = CreateObject("word.application")
Briefbogen = "C:\Users\Reinigung1\Desktop\Privat Martin Drewes"
Set woApp = CreateObject("word.Application")
woApp.Visible = True
Set woDocument = woApp.Documents.Open(Briefbogen.docx)
wd.Visible = True
wd.activedocument.Range.Pasteexceltable False, False, True
End Sub

leider funktioniert der nicht. Er sagt immer Laufzeitfehler 424 Objekt erforderlich. ICh versteh einfach nicht warum, er das immer sagt. Die datei ist in dem Ordner. aber vieleicht versethe ich auch zu wenig von Makros im Algemeinen. Könnt IHr mir helfen?

danke im Vorraus

  

Betrifft: AW: Makro zum Excel inhalt in Word von: Steffi
Geschrieben am: 14.10.2014 10:08:28

Hallo Martin,

der nachfolgende Code sollte eigentlich funktionieren. Ich weiß nur nicht ob der Pfad des Word-Dokumentes, welches geöffnet werden soll, so stimmt. Den musst du evtl. noch anpassen.

Option Explicit

Sub NachWordKopieren()
    Dim wd As Object
    Dim WordDok As Object
    Dim Word_offen As Boolean
    Dim Briefbogen As String
        
    Word_offen = True
    
    On Error Resume Next
    Set wd = GetObject("Word.Application")
    On Error GoTo 0
    
    If wd Is Nothing Then
        Word_offen = False
    End If

    If Not Word_offen Then
        Set wd = CreateObject("Word.Application")
    End If

    wd.Visible = True

    'den Pfad vollständig angeben/ evtl. noch anpassen wenn er so nicht stimmt
    Briefbogen = "C:\Users\Reinigung1\Desktop\Privat Martin Drewes\Briefbogen.docx"
    
    Set WordDok = wd.Documents.Open(Briefbogen)
    
    
    Range("A5:G51").Copy
    WordDok.Range.Pasteexceltable False, False, True
    
    
    
    'was du sonst noch machen willst
    
    
    Set wd = Nothing
    Set WordDok = Nothing
End Sub

Gruß Steffi


 

Beiträge aus den Excel-Beispielen zum Thema "Makro zum Excel inhalt in Word"