Thema Datum  Von Nutzer Rating
Antwort
Rot Inhalt von Word-Tabellen in Excel-Spalten zuordnen
29.11.2023 17:36:45 Gäbi
NotSolved
01.12.2023 07:51:53 Ben
NotSolved
01.12.2023 15:34:04 Gast25757
NotSolved
01.12.2023 15:36:54 Gast91649
NotSolved
01.12.2023 20:58:33 Ben
NotSolved
04.12.2023 11:54:48 Gast47226
NotSolved
05.12.2023 09:55:14 Gast38909
NotSolved
05.12.2023 17:25:21 Gast97477
Solved

Ansicht des Beitrags:
Von:
Gäbi
Datum:
29.11.2023 17:36:45
Views:
422
Rating: Antwort:
  Ja
Thema:
Inhalt von Word-Tabellen in Excel-Spalten zuordnen

Hallo zusammen,

ich habe einen Excel-VBA-Code geschrieben, der eine word-Datei öffnet. In dieser sind mehere identisch aufgebaute Tabellen mit 2 Spalten: in der 1. die jeweilige Bezeichnung des Inhalts (="Überschrift"), in der 2. der eigentliche Inhalt. Dieser variiert von Tabelle zu Tabelle. (Dieser Inhalt soll in die Excel kopiert werden)

Mein Makro öffnet die Word, und zieht dort aus jeder Tabellenzeile die Inhalte aus der 2. Spalte und trägt sie in die Excel ein. Hier sind die Bezeichnungen aus der Word (1. Spalte), jeweils die Spaltenüberschrift . Ich lasse das ganze Zeile für Zeile, Tabelle für Tabelle ablaufen. Und hier kommt ihr ins Spiel: ich bin mir sicher, dass das automatisiert gehen kann:

1. füge Inhalte aus der 1. Word-Tabelle in die 2. Zeile der Excel an den jeweils richtigen Platz (=richtige Spalte) bis Tabellenende, dann: 

2. wechsle in die nächste Zeile der Excel und beginne mit der nächsten Tabelle im Word-Dokument (füge Inhalte aus der 2. Tabelle in die 3. Zeile der Excel an den jeweils richtigen Platz(=Spalte) bis Tabellenende)...

bis: keine zu bearbeitende Tabelle in diesem Worddokument vorhanden ist. Ggf. hier noch eine MsgBox mit der Meldung "keine weitere Tabelle mehr vorhanden".

Dann greift mein VBA-Code wieder.

Hier mein umständlicher Code: 

Sub ImportVonWordInExcelAusTabelle()

'Variable definieren
Dim w As Word.Application
Dim d As Word.Document
Dim ws As Worksheet
Dim i As Long


'geöffnete Word-Vorlage als aktives Dokument kennzeichnen
Set ws = ActiveSheet
On Error Resume Next
Set w = GetObject("word.application")
If Err.Number <> 0 Then
    Set w = CreateObject(Word.Application)
    Err.Clear

Set w = CreateObject("word.application")
w.Visible = True

'word öffnen
w.Documents.Open "C:\Users\VBA\IDEE 2_mit 2spTabelle.docx"

'dokument aktivieren, 1. Tabelle: Parameter finden und exportieren
Set d = w.ActiveDocument
'i = ws.Cells(ws.Cells.Rows.Count, 1).End(xlUp).Row + 1
Worksheets(1).Cells(2, 1).Value = d.Tables(1).Cell(Row:=1, Column:=2)
Worksheets(1).Cells(2, 2).Value = d.Tables(1).Cell(Row:=2, Column:=2)
Worksheets(1).Cells(2, 3).Value = d.Tables(1).Cell(Row:=3, Column:=2)
Worksheets(1).Cells(2, 4).Value = d.Tables(1).Cell(Row:=4, Column:=2)


'nächste Tabelle
Worksheets(1).Cells(3, 1).Value = d.Tables(2).Cell(Row:=1, Column:=2)
Worksheets(1).Cells(3, 2).Value = d.Tables(2).Cell(Row:=2, Column:=2)
Worksheets(1).Cells(3, 3).Value = d.Tables(2).Cell(Row:=3, Column:=2)
Worksheets(1).Cells(3, 4).Value = d.Tables(2).Cell(Row:=4, Column:=2)
.
.
.

'mache das, bis keine neue Tabelle mehr vorhanden ist


d.Close False
Set d = Nothing
w.Quit
Set w = Nothing
Set ws = Nothing

End Sub

Freue mich über eure Anregungen laugh

Arbeite mit Office 365, Windows 11, Gruß, Gäbi


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Inhalt von Word-Tabellen in Excel-Spalten zuordnen
29.11.2023 17:36:45 Gäbi
NotSolved
01.12.2023 07:51:53 Ben
NotSolved
01.12.2023 15:34:04 Gast25757
NotSolved
01.12.2023 15:36:54 Gast91649
NotSolved
01.12.2023 20:58:33 Ben
NotSolved
04.12.2023 11:54:48 Gast47226
NotSolved
05.12.2023 09:55:14 Gast38909
NotSolved
05.12.2023 17:25:21 Gast97477
Solved