In diesem Beispiel soll eine komplette Excel-Tabelle an ein neues Word-Dokument übergeben werden. Dabei sollen die Daten Zelle für Zelle in eine Word-Tabelle eingefügt werden. Die Ausgangsdatei in Excel sieht wie folgt aus:

Für die Lösung der Aufgabenstellung wird der benutzte Bereich der Excel-Tabelle ermittelt. Anschließend werden die Daten übertragen. Hier ist das passende VBA-Listing:
Sub GanzeTabelleTransferieren() 'Dimensionierung der Variablen 'Auslesen der gesamten Tabelle 'Festlegen der Vorgabewerte 'Starten der Word-Instanz und eine neues Dokument öffnen 'Anschrift in das Dokument eintragen 'Tabelle im Worddokument einfügen 'Tabelle in Worddokument einfügen 'Aufheben der Verbindung zu den Objektvariablen |
In dieser Lösung wird der Variablen "varRange" über die Eigenschaft "UsedRange" der momentan benutzte Bereich des aktiven Tabellenblattes zugewiesen. Nachdem Word gestartet und ein neues Dokument eingefügt wurde, wird mit dem folgenden Befehl eine leere Tabelle in Word eingefügt:
Set objSheet = objWordDok.tables.Add(objWordApp.Selection.Range,UBound (varRange, 1), UBound(varRange, 2)) |
Diese Tabelle wird anschließend über zwei verschachtelte For-Next-Schleifen gefüllt, indem die Zelleinträge aus der Excel-Tabelle ausgelesen und mit der Methode InserAfter in die Word-Tabelle eingefügt werden. Das Ergebnis sieht wie folgt aus:

Autor: Alois Eckl