Hallo Manel,
in dieser ZIP-Datei befinden sich eine Excel-Arbeitsmappe und exemplarisch 3 Etiketten-Vorlagen.
Excel-Daten.xlsm
Enthält alle zu exportierende Einträge und eine Userform
Vor dem Ausführen muss zuerst die Verknüpfung zu Microsoft Word im VBA-Editor angepasst werden.
Zusätzlich befindet sich im Code-Bereich der Userform eine Variable ExportWordPath, die auf ein Verzeichnis zeigt, in dem die Word-Dateien erstellt werden.
Vor dem Aufrufen der Userform kann ein Autofilter gesetzt werden. Es werden nur die Einträge exportiert, die in der ersten Tabelle sichtbar sind.
dotm Vorlagen
In den Vorlagen ist ein VBA-Code enthalten, der von Excel aus aufgerufen wird.
Die Sub InsertItemInTable wird aufgerufen, um einen Eintrag in die Tabelle einzusetzen. Beim Einsetzen wird immer die nächste frei Tabellen-Zelle gefüllt.
Damit das Suchen der nächsten Zelle nicht zu lange dauert, werden vor dem Einfügen nur die letzten Zellen durchsucht.
-----
Die Einträge von Excel werden via "Dokument-Variable" nach Word übertragen. Dieser Umweg musste genommen werden, da ein direkter Aufruf der Sub mit Variablen stets fehl geschagen ist.
Wenn das Gesamte Code in Excel ausgeführt wird, ist das Laufzeitverhalten mieserabel; oft traten irgendwelche Laufzeitfehler auf, die unerklärlich sind. Daher wurde der VBA-Code aufgeteilt:
Das Zusammensuchen der Einträge erfolgt in Excel; das Eintragen in die Word-Tabelle erfolgt in Word; die Übergabe der Inhalte erfolgt via Dokument-Variablen.
LG, Ben
|