Excel-Daten in eine Word-Datei übertragen

ifeelgood67

Grünschnabel
Hallo zusammen,

ich bekomme quartalsweise eine (dynamische) EXCEL-Tabelle (mit unterschiedlicher Anzahl Zeilen).

Von diesen Daten möchte ich quartalsweise eine Zusammenfassung in eine WORD-Datei erstellen.

Die Word-Datei soll diese Form haben:

(1) Überschrift in Word (aus den Daten der Zeile 4 Spalte 1, Zeile 4 Spalte 2, Zeile 4 Spalte3)
Erklärung (aus den Daten der Zeile 4 Spalte 7)​
(2) Überschrift in Word (aus den Daten der Zeile 5 Spalte 1, Zeile 5 Spalte 2, Zeile 5 Spalte3)
Erklärung (aus den Daten der Zeile 4 Spalte 7)​
(i) Überschrift in Word (aus den Daten der Zeile i Spalte 1, Zeile i Spalte 2, Zeile i Spalte3)
Erklärung (aus den Daten der Zeile i Spalte 7)​

Wie ich eine Worddatei erstelle in der eine vordefinierte Anzahl Textmarken angesprochen werden kann, weiß ich.

In dem Fall weiß ich jedoch nicht, wie ich die Daten von Zeile 4 bis Zeile i in die obengenannte Form in ein Worddokument übergeben kann.

Kann mir da jemand weiterhelfen?

Vielen Dank im Voraus. Grüße Stefan
 
Ich hatte es damit versucht, aber funkt leider nicht. Finde aber den Fehler nicht.

Kannjemand helfen?

Visual Basic:
Sub Excel_Zu_Word()
    Dim xlsAppl As Excel.Application
    Dim xlsWbk As Excel.Workbook
    Dim xlsWks As Excel.Worksheet
    Dim xlsRngTabellenbereich As Excel.Range
    Dim vntFile As Variant
    Dim wrdDoc As Object
    Dim lngAbZeileQuelle As Long
    Dim lngAbSpalteQuelle As Long
    Dim lngLetzteZeileQuelle As Long
    Dim strFirstAddress As String
    Dim lngZeileMarker As Long
    Dim lngBisSpalteQuelle As Long
    Dim rngBM As Range

    lngBisSpalteQuelle = 9 ' 9 ist die Anzahl der Spalten in der Tabelle.
    lngAbSpalteQuelle = 2 ' Die erste Spalte beginnt bei 2.
    lngAbZeileQuelle = 5 ' Die erste Zeile beginnt bei 5.

    Set wrdDoc = CreateObject("Word.Application")
    wrdDoc.Visible = True ' Word wird sichtbar.
    wrdDoc.documents.Open ("C:\Users\_._\Desktop\VBA Word Datei\Protokoll.docx") ' Öffnen Sie das Word-Dokument.

    Set rngBM = wrdDoc.Bookmarks("Meine_Tabelle").Range ' Setzen Sie den Textmarker.

    Set xlsAppl = CreateObject("Excel.Application")
    xlsAppl.Visible = True ' Excel wird sichtbar.
  
    vntFile = "C:\Users\_._\Desktop\VBA Word Datei\Vorlage.xlsm"
  
    If Not vntFile = False Then
        Set xlsWbk = xlsAppl.Workbooks.Open(vntFile)
        Set xlsWks = xlsWbk.Worksheets("Tabelle1")
        xlsAppl.Visible = True

        lngLetzteZeileQuelle = xlsWks.Cells(xlsWks.Rows.Count, lngAbSpalteQuelle).End(-4162).Row ' - _ 4162 = xlUp
      
        Set xlsRngTabellenbereich = xlsWks.Range(xlsWks.Cells(lngAbZeileQuelle, lngAbSpalteQuelle), _
            xlsWks.Cells(lngLetzteZeileQuelle, lngBisSpalteQuelle))
      
        For Each row In xlsRngTabellenbereich.Rows
            wrdDoc.Range.InsertAfter (row.Cells(1).Value & vbTab & row.Cells(2).Value & vbTab & row.Cells(3).Value & vbCr & row.Cells(7).Value)
            wrdDoc.Range.InsertParagraphAfter
        Next row
      
        xlsAppl.CutCopyMode = False
        xlsWbk.Close False
      
        MsgBox "Die Daten wurden erfolgreich in das Word-Dokument übertragen.", vbInformation + vbOKOnly, "Übertragung abgeschlossen"
      
        End If
  
        Set rngBM = Nothing
        Set xlsRngTabellenbereich = Nothing
        Set xlsWks = Nothing
        Set xlsWbk = Nothing
        Set xlsAppl = Nothing
  
End Sub
 
Zuletzt bearbeitet von einem Moderator:
Ich habe selber keinerlei Erfahrung mit Excel in Woprd einbinden. Aber:
"Funktioniert nicht" sagt nix aus. Kommt eine Fehlermeldung? Oder macht der Code etwas falsch?
 

Neue Beiträge

Zurück