Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1456to1460
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige