Ein kleiner Beispielquelltext um alle Tabellen eines Dokumentes in eine neue leere Excel® Arbeitsmappe zu exportieren.
Option Explicit
' ************************************************************************************************
' Autor/en: http://www.online-vba.de - Marc Wershoven
' Verwendung der Quelltexte auf eigene Gefahr!
' Es gelten die Nutzungsbedingungen von www.online-vba.de!
' Original-Quelltext: www.online-vba.de/vba_word2xls_tables.php
' ************************************************************************************************
Public Sub WOExportTablesToExcel()
Dim oExcelApp As Object
Dim oExcelWorkbook As Object
Dim lZeile As Long
Dim lSpalte As Long
Dim lTable As Long
Dim oTable As Object
Dim lRememberSheetsInNewWorkbook As Long
'Zuerst wird die Excel Datei geöffnet
Set oExcelApp = CreateObject("Excel.Application")
'Nur ein leeres Blatt beim Anlegen erstellen
lRememberSheetsInNewWorkbook = oExcelApp.SheetsInNewWorkbook
oExcelApp.SheetsInNewWorkbook = 1
Set oExcelWorkbook = oExcelApp.Workbooks.Add
oExcelApp.SheetsInNewWorkbook = lRememberSheetsInNewWorkbook
oExcelApp.Visible = True
'Schleife über alle Tabellen des Dokuments
lTable = 1
For Each oTable In ActiveDocument.Tables
'Ab der zweiten Tabelle ein weiteres Blatt ergänzen
If lTable >= 2 Then
oExcelWorkbook.Sheets.Add After:=oExcelWorkbook.Sheets(oExcelWorkbook.Sheets.Count)
End If
'Tabelle übertragen für alle Zeilen und Spalten
For lZeile = 1 To oTable.Rows.Count
For lSpalte = 1 To oTable.Columns.Count
'Steuerzeichen abschneiden und Zellenwert übertragen
oExcelWorkbook.Sheets(lTable).Cells(lZeile, lSpalte) = _
Replace(Trim(CStr(oTable.Cell(lZeile, lSpalte).Range.Text)), Chr(13) & Chr(7), "")
Next lSpalte
Next lZeile
'Nächste Tabelle und Arbeitsblatt
lTable = lTable + 1
Next oTable
MsgBox "Fertig!"
'Aufräumen nicht vergessen...
Set oTable = Nothing
Set oExcelWorkbook = Nothing
Set oExcelApp = Nothing
End Sub
Autor: Marc Wershoven (2017)
VBA Programmierer gesucht?
http://www.WershovenOnline.de
Sie haben beispielsweise eine Frage zu einer Ihrer eigenen Makroprogrammierungen in VBA? Oder Sie suchen Unterstützung und Informationen über eine bestimmte Microsoft® Excel® Formel? Bei nahezu allen Fragen und Problemen rund um Microsoft® Office und VBA Makros steht Ihnen unser individueller Quick E-Mail Support zur Verfügung. Einfach, schnell und unkompliziert Ihre Frage in einer E-Mail formulieren, mit oder ohne Screenshots oder einer Beispieldatei absenden und kurze Zeit später haben Sie eine vollständige Lösung inkl. ausführlicher Erklärung vom Profi in Ihrem Postfach!
Zusätzlich besteht die Option, dass wir uns mittels Fernwartung (selbstverständlich nach Ihrem Einvertändnis) direkt "live" mit Ihnen zusammen an Ihrem Bildschirm gemeinsam Fragen und Problemstellungen anschauen und lösen können!
Weitere Informationen zu diesem kostenpflichtigen Angebot finden Sie auf der Anbieterseite von WershovenOnline® auf www.wershovenonline.de.
Zum Anbieter des Quick-E-Mail-Support...