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

Forumthread: Makro für Excel Export zu Word

Makro für Excel Export zu Word
10.11.2015 15:39:15
phelix
Hallo,
ich bin absoluter Anfänger und komme mit meinem Makro nicht klar.
Ich habe folgendes Makro:
Sub NachWordKopieren()
Dim wd As Object
Range("A45:h60").Copy
Set wd = CreateObject("word.application")
wd.documents.Add
wd.Visible = True
wd.activedocument.Range.Paste
End Sub

Mit diesem Makro möchte ich aus einer Excel-Datei eine Tabelle nach Word exportieren. Das klappt soweit mit dem Makro auch ganz gut, aber ich benötige da noch einige Adaptionen.
Zunächst einmal soll die Word-Datei im Format Din A3 und Querformat sein, damit auch alle Infos zu sehen sind. Wie kriege ich das hin?
Zweitens: Ich möchte nur die Spalten A bis H exportieren, was mit meinem Makro hervorragend klappt. Es sollen aber nur die Spalten exportiert werden in denen kein Eintrag in Spalte H (Datum Ausgang) steht. Außerdem soll immer der Tabellenkopf exportiert werden (Zeile 45). Ist es möglich, das beim Export immer Zeile 45 und die Zeilen ab Zeile 45 exportiert werden, die keinen Eintrag in Spalte H haben?
Die Tabelle wächst täglich weiter, das heißt das Ganze ist sehr dynamisch. Es wäre schon, wenn ein Makro mir diesen Export ermöglicht. Noch besser wäre es eigentlich, wenn das Ganze in eine Word-Vorlage exportiert wird, in der ich eine feste Kopf- und Fußzeile habe, damit ich diese nicht immer einpflegen muss.
Hier mein Excel File https://www.herber.de/bbs/user/101389.xlsm
Vielen Dank für eure Hilfe :)
Gruß
Phelix

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro für Excel Export zu Word
11.11.2015 09:58:44
Michael
Hallo Phelix!
Hier mal eine Möglichkeit mit einer Word-Vorlage - das ist insofern viel einfacher, weil Du Dir da manuell und ohne VBA-Spielerei Dein Dokument einmal einrichtest (Kopf- und Fußzeilen, Größe A3... ) und der verbleibende Code in Excel bleibt sehr überschaubar:
Sub TableToWordTemplate()
'Verweis auf MS Word 14 Object Library
Dim rStartZelle As Range: Set rStartZelle = Range("A45")
Dim oWord As Object
Set oWord = CreateObject("Word.Application")
'Autofilter Deiner Tabelle setzen (Leere Werte in H)
If ActiveSheet.FilterMode = True Then rStartZelle.AutoFilter
rStartZelle.AutoFilter Field:=8, Criteria1:="="
'Gesamten sichtbaren Tabellenbereich (nach Autofilter) kopieren
rStartZelle.CurrentRegion.Copy
'Word-Vorlage öffnen
With oWord
.Documents.Add Template:="C:\...\Deine_Vorlage.dot"
.Visible = True
End With
'Kopierten Bereich einfügen
oWord.activedocument.Range.PasteExcelTable False, True, False
oWord.activedocument.Activate
End Sub
Den Pfad der Vorlage musst Du dann natürlich entsprechend anpassen. Im Code sind ein paar erklärende Hinweise. Den Verweis auf die MS Word Object Library 14 setzt Du so: Füge den o.a. Code in ein allgemeines Modul ein und klicke Dich dann im VB-Editor wie folgt durch... Extras -- Verweise -- Häkchen setzen bei "Microsoft Word 14.0 Object Library".
Kommst Du so damit zurecht?
LG
Michael
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Makro für den Export von Excel-Daten nach Word


Schritt-für-Schritt-Anleitung

Um eine Excel-Tabelle nach Word zu exportieren, kannst du ein Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Rechtsklicke im Projektfenster auf „VBAProject (DeineDatei.xlsx)“ und wähle „Einfügen“ > „Modul“.

  3. Kopiere den folgenden Code in das Modul:

    Sub NachWordKopieren()
       Dim wd As Object
       Range("A45:H60").Copy
       Set wd = CreateObject("Word.Application")
       wd.documents.Add
       wd.Visible = True
       wd.activedocument.Range.Paste
    End Sub
  4. Passe den Code an: Wenn du nur bestimmte Spalten exportieren möchtest, kannst du den Code anpassen, um nur die Zeilen ohne Eintrag in Spalte H zu exportieren. Hier ein Beispiel:

    Sub TableToWordTemplate()
       Dim rStartZelle As Range: Set rStartZelle = Range("A45")
       Dim oWord As Object
       Set oWord = CreateObject("Word.Application")
       rStartZelle.AutoFilter Field:=8, Criteria1:="="
       rStartZelle.CurrentRegion.Copy
       oWord.Documents.Add Template:="C:\...\Deine_Vorlage.dot"
       oWord.Visible = True
       oWord.activedocument.Range.PasteExcelTable False, True, False
       oWord.activedocument.Activate
    End Sub
  5. Führe das Makro aus: Drücke F5 im VBA-Editor, um das Makro auszuführen und die Excel-Daten in Word zu exportieren.


Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden": Stelle sicher, dass der Pfad zur Word-Vorlage korrekt ist.
  • Fehler: Excel-Daten werden nicht eingefügt: Überprüfe, ob die Filterung korrekt gesetzt ist und keine leeren Zellen im Bereich vorhanden sind.
  • Fehler: Word öffnet sich nicht: Stelle sicher, dass Microsoft Word auf deinem Computer installiert und korrekt konfiguriert ist.

Alternative Methoden

Eine weitere Möglichkeit, Excel-Daten nach Word zu exportieren, ist die Nutzung von VBA, um Daten aus Word in Excel zu importieren. Du kannst ein Makro erstellen, das Daten von Word in Excel importiert, indem du die Word-Objektbibliothek verwendest.


Praktische Beispiele

  • Beispiel für den Export einer Excel-Tabelle nach Word: Das folgende Makro exportiert alle Daten ab Zeile 45 ohne Einträge in Spalte H:

    Sub ExportExcelTabelleNachWord()
       Dim wd As Object
       Dim rStartZelle As Range: Set rStartZelle = Range("A45")
       Set wd = CreateObject("Word.Application")
       rStartZelle.AutoFilter Field:=8, Criteria1:="="
       rStartZelle.CurrentRegion.Copy
       wd.Documents.Add
       wd.Visible = True
       wd.activedocument.Range.Paste
    End Sub

Tipps für Profis

  • Nutze Word-Vorlagen: Richte eine Word-Vorlage mit Kopf- und Fußzeilen ein, um den Export zu vereinfachen.
  • Optimiere den Code: Experimentiere mit verschiedenen Excel- und Word-Objektmethoden, um deine Makros effizienter zu gestalten.
  • Fehlerbehandlung einfügen: Implementiere Fehlerbehandlungen in deinem Makro, um mögliche Probleme während des Exports zu erkennen und zu lösen.

FAQ: Häufige Fragen

1. Wie kann ich nur bestimmte Zeilen exportieren?
Du kannst die Filterfunktion im Makro verwenden, um nur die gewünschten Zeilen zu exportieren, wie im Schritt-für-Schritt-Beispiel gezeigt.

2. Kann ich die exportierten Daten formatieren?
Ja, du kannst die Formatierungen im Word-Dokument nach dem Einfügen der Daten anpassen.

3. Wie kann ich Daten aus Word in Excel importieren?
Du kannst ein VBA-Makro erstellen, das die Daten aus einem Word-Dokument liest und in eine Excel-Tabelle 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