Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: mit VBA Word-Tabellen auslesen

mit VBA Word-Tabellen auslesen
10.02.2016 15:11:01
bastula
Hi Zusammen,
ich suche einen Weg, bestimmte Tabellen aus Worddateien auszulesen und nach XLS zu kopieren. Im Prinzip klappt das schon, jedoch will ich nur bestimmte Tabellen auslesen, nicht alle. Und um diese zu identifizieren, möchte ich nach der Beschriftung (oder gerne eines anderen, vom Word-Anwender zu pflegenden) Feldes filtern.
Aber ich finde keinen Weg, auf diese Beschriftungen zuzugreifen - hat jemand einen Tipp?
Dank & Gruss,
B.

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Word-Tabellen mit VBA auslesen und in Excel kopieren


Schritt-für-Schritt-Anleitung

Um mit VBA in Word Tabellen auszulesen und diese in Excel zu kopieren, gehst du wie folgt vor:

  1. Word-Dokument öffnen: Stelle sicher, dass das Word-Dokument, aus dem du die Tabelle auslesen möchtest, geöffnet ist.

  2. VBA-Editor starten: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  3. Neues Modul erstellen: Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)" und wähle "Einfügen" > "Modul".

  4. Code einfügen: Füge den folgenden VBA-Code in das Modul ein:

    Sub TabellenAusWordAuslesen()
       Dim wdApp As Object
       Dim wdDoc As Object
       Dim tbl As Object
       Dim i As Integer
    
       ' Word-Anwendung öffnen
       Set wdApp = CreateObject("Word.Application")
       wdApp.Visible = True
    
       ' Dokument öffnen
       Set wdDoc = wdApp.Documents.Open("Pfad\zu\deinem\Dokument.docx")
    
       ' Durch Tabellen iterieren
       For Each tbl In wdDoc.Tables
           ' Hier kannst du die Logik zum Filtern der Tabellen hinzufügen
           ' Beispiel: Wenn tbl.Title = "Dein Titel" Then
           For i = 1 To tbl.Rows.Count
               ' Daten in Excel kopieren
               ThisWorkbook.Sheets(1).Cells(i, 1).Value = tbl.Cell(i, 1).Range.Text
           Next i
       Next tbl
    
       ' Dokument schließen
       wdDoc.Close
       wdApp.Quit
    End Sub
  5. Anpassungen vornehmen: Ändere den Pfad zu deinem Word-Dokument und füge Logik hinzu, um die gewünschten Tabellen nach ihren Beschriftungen zu filtern.

  6. Makro ausführen: Drücke F5, um das Makro auszuführen und die Tabellen in Excel zu importieren.


Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden": Stelle sicher, dass der Pfad zur Word-Datei korrekt ist und die Datei existiert.
  • Fehler: Keine Tabellen gefunden: Überprüfe, ob das Word-Dokument tatsächlich Tabellen enthält.
  • Lösung für das Filtern: Um spezifische Tabellen zu identifizieren, kannst du die tbl.Title-Eigenschaft abfragen, wie im Beispiel gezeigt.

Alternative Methoden

Eine alternative Methode zum Auslesen von Word-Tabellen besteht darin, die Word-Objektbibliothek in Excel zu verwenden. Du kannst dies tun, indem du die Verweise in den VBA-Einstellungen aktivierst. Gehe zu "Extras" > "Verweise" und aktiviere "Microsoft Word xx.x Object Library".


Praktische Beispiele

Hier ist ein Beispiel, wie du eine Tabelle mit einer speziellen Beschriftung ansprechen kannst:

For Each tbl In wdDoc.Tables
    If tbl.Title = "Wichtige Daten" Then
        For i = 1 To tbl.Rows.Count
            ThisWorkbook.Sheets(1).Cells(i, 1).Value = tbl.Cell(i, 1).Range.Text
        Next i
    End If
Next tbl

In diesem Beispiel wird nur die Tabelle mit dem Titel "Wichtige Daten" ausgelesen.


Tipps für Profis

  • Nutze Bookmarks in Word, um gezielt auf bestimmte Bereiche zuzugreifen. Dies kann die Identifikation von Tabellen erleichtern.
  • Teste deinen VBA-Code Schritt für Schritt mit Fehlerbehandlung, um Probleme schnell zu identifizieren.
  • Halte deine Excel-Datei gut organisiert, wenn du mehrere Tabellen importierst, um die Übersichtlichkeit zu wahren.

FAQ: Häufige Fragen

1. Frage: Muss ich die Word-Datei manuell öffnen?
Antwort: Nein, du kannst die Datei im VBA-Code automatisch öffnen, wie im Beispiel gezeigt.

2. Frage: Kann ich mehrere Tabellen gleichzeitig auslesen?
Antwort: Ja, der Code kann so angepasst werden, dass er mehrere Tabellen in einer Schleife durchläuft und die Daten entsprechend kopiert.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige