Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Word Tabelle aus Excel füllen

Word Tabelle aus Excel füllen
10.02.2017 17:48:40
Michael
Hallo,
ich versuche einen Lieferschein zu erstellen und möchte
dazu von Excel aus ein Word Dokument mit einer Tabelle füllen.
Das Word-Dokument mit Excel ist aus einer Vorlage erstellt
Das füllen des Bookmarks klappt tadellos, aber die Tabelle kann
ich nicht ansprechen.
Bei "myRng.select" passiert nichts und bei "myRng.pasteappendtable" kommt
Befehl nicht verfügbar.
LiefDat = Format(.Cells(EZeile, 13), "dd.mm.yyyy")
'LS Kopf füllen
wdDoc.Bookmarks("LiefDat").Range.Text = LiefDat
' Aus ABNr und BestNr den Dateinamen bauen
DatName = "LS_" & Format(LiefDat, "ddmmyy") & ".docx"
strPathAndFileName = DefaultPfad & DatName
wdDoc.Activate
Set myRng = wdDoc.Range(Start:=wdDoc.Tables(1).Cell(1,1).Range.Start, _
End:=wdDoc.Tables(1).Cell(1, 9).Range.End)
myRng.Select
myRng.PasteAppendTable
Wo ist der Fehler?
Grüße
Michael
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Word Tabelle aus Excel füllen
11.02.2017 10:55:09
fcs
Hallo Michael,
evtl. hast du die Variable "myRng" falsch deklariert.
Diese muss als Word.Range oder als Object oder als Variant deklariert sein. Auf keinen Fall unter Excel-VBA als "Range" denn es ist ja kein Excel-Ojekt sondern ein Word-Objekt, auf das ein Word-Befehl angewendet werden soll.
Gruß
Franz
' getestet unter Word 2010
' Einfuegen_Excelbereich Makro
Dim wdDoc As Word.Document 'oder As Object
Dim myRng As Word.Range    'oder As Object
Set wdDoc = ActiveDocument 'Testzeile
wdDoc.Activate
Set myRng = wdDoc.Range(Start:=wdDoc.Tables(1).Cell(1, 1).Range.Start, _
End:=wdDoc.Tables(1).Cell(1, 9).Range.End)
'    myRng.Select
myRng.PasteAppendTable
'    Selection.PasteAppendTable

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Word Tabelle aus Excel füllen


Schritt-für-Schritt-Anleitung

Um eine Word Tabelle automatisch mit Daten aus Excel zu füllen, gehe wie folgt vor:

  1. Öffne Excel und Word: Stelle sicher, dass beide Anwendungen geöffnet sind.
  2. Erstelle ein Word-Dokument: Nutze eine Lieferschein Word Vorlage, um die Formatierung zu erleichtern.
  3. Schreibe das VBA-Makro:
    • Öffne den VBA-Editor in Excel (Alt + F11).
    • Füge ein neues Modul hinzu und schreibe das folgende Makro:
Sub FillWordTable()
    Dim wdApp As Object
    Dim wdDoc As Object
    Dim myRng As Object

    ' Word-Anwendung erstellen
    Set wdApp = CreateObject("Word.Application")
    wdApp.Visible = True

    ' Word-Dokument öffnen
    Set wdDoc = wdApp.Documents.Open("Pfad\zu\deinem\Lieferschein.docx")

    ' Range für die Tabelle festlegen
    Set myRng = wdDoc.Range(Start:=wdDoc.Tables(1).Cell(1, 1).Range.Start, _
                             End:=wdDoc.Tables(1).Cell(1, 9).Range.End)

    ' Daten aus Excel kopieren und einfügen
    myRng.PasteAppendTable
End Sub
  1. Führe das Makro aus: Stelle sicher, dass die Daten in Excel korrekt formatiert sind.
  2. Überprüfe das Word-Dokument: Die Word Tabelle sollte jetzt mit den Daten aus Excel gefüllt sein.

Häufige Fehler und Lösungen

  1. Fehler: "Befehl nicht verfügbar"

    • Stelle sicher, dass die Variable myRng als Object oder Word.Range deklariert ist, nicht als Excel.Range.
  2. Problem beim Einfügen der Tabelle

    • Überprüfe, dass die Tabelle im Word-Dokument existiert und die korrekten Zellreferenzen verwendet werden.
  3. Word-Dokument wird nicht geöffnet

    • Stelle sicher, dass der Pfad zum Dokument korrekt ist und die Datei nicht schreibgeschützt ist.

Alternative Methoden

Falls das direkte Einfüllen in eine Word Tabelle nicht funktioniert, kannst du folgende Methoden ausprobieren:

  • Daten als Text einfügen: Kopiere die Daten aus Excel und füge sie als Text in die Word Tabelle ein.
  • CSV-Datei nutzen: Exportiere die Excel-Daten als CSV und importiere sie in Word, um die Tabelle zu erstellen.

Praktische Beispiele

  • Durchschnittswerte in Word anzeigen: Berechne den Durchschnitt in Excel und füge diesen Wert in die Word Tabelle ein. Verwende die Formel =DURCHSCHNITT(A1:A10) in Excel und kopiere das Ergebnis in Word.
  • Lieferschein mit mehreren Tabellen: Wenn dein Lieferschein mehrere Tabellen enthält, stelle sicher, dass du die Referenzen in deinem Makro anpasst, um alle relevanten Tabellen zu füllen.

Tipps für Profis

  • Verwendung von Bookmarks: Nutze Bookmarks in deinem Word-Dokument, um spezifische Stellen für die Datenübertragung festzulegen.
  • Automatisierung: Überlege, das gesamte Verfahren in ein einziges Makro zu integrieren, um Zeit zu sparen.
  • Formatierung: Stelle sicher, dass die Formatierungen in der Word Tabelle korrekt sind, um eine ansprechende Präsentation zu gewährleisten.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass die Word Tabelle ganze Seite ausfüllt? Um sicherzustellen, dass die Word Tabelle die gesamte Seite ausfüllt, gehe zu den Tabelleneigenschaften und stelle die Breite auf 100% ein.

2. Gibt es eine Möglichkeit, die Daten automatisch in eine bestehende Tabelle einzufügen? Ja, du kannst das VBA-Makro so anpassen, dass es spezifische Zellen in der bestehenden Tabelle anspricht und die Daten entsprechend einfügt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige