Anzeige

VBA
Programmierer
gesucht?
 
Anzeige
VBA Programmierer gesucht?
 

VBA Codeschnipselsammlung

Alle Tabellen aus einem Dokument nach Excel® exportieren...

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)

Anzeige

VBA Programmierer gesucht?
http://www.WershovenOnline.de

Anzeige

Der Quick E-Mail Support von WershovenOnline®

Schnelle Hilfe bei Fragen rund um Microsoft® Office und VBA Makros

Der Quick E-Mail Support von WershovenOnline® 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...

Zum Seitenanfang