Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Word text nach Excel kopieren

Word text nach Excel kopieren
12.02.2008 16:49:00
Bischofs
Hallo zusammen,
da ich totaler Excel Anfänger bin, benötige ich Hilfe bei folgendem Problem:
Es gilt ein Makro in Excel zu schreiben, welches aus einer/mehreren Word Datei(en) einen bestimmten Textbereich nach Excel kopiert.
In der Word Datei befindet sich eine Tabelle (5 Zeilen, 2 Spalten). In der 4. Zeile, 1. Spalte steht immer "Ansprechpartner", den Text in der 4. Zeile, 2. Spalte muss nach Excel kopiert werden.
Wie bekommt man das hin?
Viele Grüße,
Ingo

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Word text nach Excel kopieren
13.02.2008 11:50:39
Renee
Mazwara Ingo,
Sei mir nicht böse, aber ich glaube für ein da ich totaler Excel Anfänger bin... ist diese Vorhaben eine Nummer zu gross. Du willst gleich mit einer Applikations-übergreifenden Programmierung beginnen und das ist nicht so einfach. Beginne mit einfacher Aufzeichung (Makro aufzeichnen) von VBA-Code und mach dich im Forum schlau. Das Archiv gibt auch einiges zu Thema Word nach Excel .
GreetZ Renée

Anzeige
AW: Word text nach Excel kopieren
13.02.2008 12:22:00
Bischofs
Hi Renée,
ein totaler Anfänger bin ich nun auch nicht.
Hab das Coding schon soweit hinbekommen, dass in der Excel Datei die Dateinamen und das erste Wort der Word Datei ausgelesen werden:
Option Explicit

Sub Makro1()
Dim AppWd As Object
Dim DocWd As Object
Dim WordDatei As String
Dim WordDateiPfad As String
Dim TextWD As String
Dim DateiName As String
Dim aktZeile As Integer
'DateiName = Namer deiner ExcelDatei
DateiName = Application.ActiveWorkbook.Name
'der Pfad in dem die Word Dateien liegen, muss mit "\" enden
WordDateiPfad = "C:\Documents and Settings\s211525\Desktop\Test\"
'Startzeile in der Excel-Datei
aktZeile = 2
'Word-Object erzeugen und öffnen
Set AppWd = CreateObject("Word.Application")
'Schleife für alle Word-Dateien im Verzeichnis
WordDatei = Dir(WordDateiPfad & "*.doc")
Do While WordDatei  ""
'Datei Öffnen (unsichtbar)
AppWd.Visible = False
Set DocWd = AppWd.Documents.Open(WordDateiPfad & WordDatei)
'Erste Zeile der Word-Datei auslesen
DocWd.Range(0, 0).Select
TextWD = DocWd.Bookmarks("\Line").Range.Text
'In Excel schreiben
Workbooks(DateiName).Worksheets(1).Range("D" & aktZeile).Value = TextWD
Workbooks(DateiName).Worksheets(1).Range("C" & aktZeile).Value = WordDatei
aktZeile = aktZeile + 1
'aktuelle Worddatei schließen
DocWd.Close savechanges:=False
'nächste Word Datei
WordDatei = Dir()
Loop
'Word schließen und Objekt beenden
AppWd.Quit
Set DocWd = Nothing
End Sub


Das Problem besteht leider nur darin, dass ich es nicht hinbekomme, den Text aus der Word-Tabelle (4. Zeile, 2. Spalte) auszulesen.
Viele Grüße,
Ingo

Anzeige
AW: Word text nach Excel kopieren
13.02.2008 13:18:00
Renee
Hi Ingo,
Tipp: Lege in Word eine Textmarke über die besagte Zelle in der Tabelle.
Dann kannst du sie mit einem Befehl wie:

TextWD = DocWd.Bookmarks("NameDerTextMarke").Range.Text 


auslesen und in die Excelzelle schieben.
GreetZ Renée

Anzeige
AW: Word text nach Excel kopieren
Ralf
Hallo Ingo,
hiermit habe ich es ungefähr hinbekommen, mußt Du ggf. verfeinern!

Sub WordDateiBearbeiten()
On Error Resume Next
Set ObjWinWord = GetObject(, "Word.Application.8")
If Err.Number  0 Then
Err.Clear
Set ObjWinWord = CreateObject("Word.Application.8")
ObjWinWord.Visible = True
ObjWinWord.WindowState = wdWindowStateMaximize
Else
ObjWinWord.Activate
ObjWinWord.Visible = True
ObjWinWord.WindowState = wdWindowStateMaximize
End If
'öffnet Document
ObjWinWord.Documents.Open "C:\Temp\Ansprechpartner.doc"
Set DocWord = ObjWinWord.ActiveDocument
Set meineZelle = DocWord.Tables(1).Cell(Row:=4, Column:=2)
Worksheets(1).Cells(4, 4).Value = meineZelle
'schließt Document und Winword
DocWord.Close
ObjWinWord.Quit
Set ObjWinWord = Nothing
Set DocWord = Nothing
End Sub


Gruß
Ralf
www.joomlaworker.de

Anzeige
AW: Word text nach Excel kopieren
13.02.2008 14:40:00
Bischofs
Hallo Ralf,
hab noch ein paar Änderungen vorgenommen und es funktioniert einwandfrei. Vielen Dank!!!
Könnte man nun auch noch eine Abfrage einbauen, indem geprüft wird, ob in der 4. Zeile, 1. Spalte der Text "Ansprechpartner" steht und wenn nicht, dann soll nichts ausgegeben werden?
Grüße,
Ingo

Anzeige
AW: Word text nach Excel kopieren
Ralf
Hi Ingo,
ungefähr in der Art, den Else-Block kannst Du natürlich weglassen!

Sub WordDateiBearbeiten()
On Error Resume Next
Set ObjWinWord = GetObject(, "Word.Application.8")
If Err.Number  0 Then
Err.Clear
Set ObjWinWord = CreateObject("Word.Application.8")
ObjWinWord.Visible = True
ObjWinWord.WindowState = wdWindowStateMaximize
Else
ObjWinWord.Activate
ObjWinWord.Visible = True
ObjWinWord.WindowState = wdWindowStateMaximize
End If
'öffnet Document
ObjWinWord.Documents.Open "C:\Temp\Ansprechpartner.doc"
Set DocWord = ObjWinWord.ActiveDocument
Set meineZelle = DocWord.Tables(1).Cell(Row:=4, Column:=2)
Set Ansprechpartner = DocWord.Tables(1).Cell(Row:=4, Column:=1)
'Prüfen, ob Zeichenkette "Ansprechpartner" in Z4S1 enthalten ist
If InStr(1, Ansprechpartner, "Ansprechpartner") > 0 Then
Worksheets(1).Cells(4, 4).Value = meineZelle
Else
MsgBox "Kein Ansprechpartner vorhanden"
End If
'schließt Document und Winword
DocWord.Close
ObjWinWord.Quit
Set ObjWinWord = Nothing
Set DocWord = Nothing
End Sub


Gruß
Ralf
www.joomlaworker.de

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Word Text nach Excel kopieren


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle ein neues Arbeitsblatt.
  2. Aktiviere die Entwicklertools: Gehe zu Datei > Optionen > Menüband anpassen > Aktiviere das Kontrollkästchen für Entwicklertools und klicke auf OK.
  3. Makro erstellen:
    • Gehe zu Entwicklertools > Visual Basic.
    • Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
  4. VBA-Code einfügen: Kopiere und füge den folgenden VBA-Code in das Modul ein.
Sub WordTextNachExcel()
    On Error Resume Next
    Dim ObjWinWord As Object
    Set ObjWinWord = GetObject(, "Word.Application")
    If Err.Number <> 0 Then
        Err.Clear
        Set ObjWinWord = CreateObject("Word.Application")
    End If
    ObjWinWord.Visible = False

    ' Öffne die Word-Datei
    Dim DocWord As Object
    Set DocWord = ObjWinWord.Documents.Open("C:\Pfad\zu\deiner\WordDatei.docx")

    ' Lese den Text aus der Tabelle
    Dim meineZelle As Object
    Set meineZelle = DocWord.Tables(1).Cell(Row:=4, Column:=2)

    ' Füge den Text in Excel ein
    Worksheets(1).Cells(4, 4).Value = meineZelle.Range.Text

    ' Schließe Word
    DocWord.Close False
    ObjWinWord.Quit
    Set ObjWinWord = Nothing
    Set DocWord = Nothing
End Sub
  1. Anpassen des Codes: Ändere den Pfad der Word-Datei in der Zeile Set DocWord = ObjWinWord.Documents.Open("C:\Pfad\zu\deiner\WordDatei.docx").
  2. Makro ausführen: Schließe den VBA-Editor und gehe zurück zu Excel. Klicke auf Entwicklertools > Makros, wähle WordTextNachExcel und klicke auf Ausführen.

Häufige Fehler und Lösungen

  • Fehler: Word wird nicht geöffnet: Stelle sicher, dass du Word installiert hast und der Pfad zur Datei korrekt ist.
  • Fehler: Zelle nicht gefunden: Überprüfe, ob die Tabelle in Word die richtige Struktur hat (mindestens 4 Zeilen und 2 Spalten).
  • Makro funktioniert nicht: Aktiviere die Makros in den Excel-Optionen.

Alternative Methoden

Wenn du keinen VBA-Code verwenden möchtest, kannst du auch einfach den Text aus Word kopieren und in Excel einfügen:

  1. Öffne das Word-Dokument.
  2. Markiere den gewünschten Text und drücke Strg + C, um den Text zu kopieren.
  3. Wechsle zu Excel und klicke auf die Zelle, in die du den Text einfügen möchtest.
  4. Drücke Strg + V, um den Text einzufügen.

Für große Datenmengen empfiehlt sich jedoch die Verwendung eines Makros, um die Effizienz zu steigern.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du einen Text aus Word in Excel kopieren kannst:

  1. Wenn du in der Word-Tabelle in der 4. Zeile, 2. Spalte den Text "Max Mustermann" hast, wird der folgende Code diesen Text in die Excel-Zelle D4 kopieren.

  2. Beispiel für den VBA-Code:

' Text aus Word kopieren und in Excel einfügen
Worksheets(1).Cells(4, 4).Value = meineZelle.Range.Text

Tipps für Profis

  • Textmarken nutzen: Lege Textmarken in Word an, um bestimmte Zellen einfacher anzusprechen.
  • Fehlerbehandlung: Füge On Error Resume Next hinzu, um unerwartete Fehler im Code zu behandeln.
  • Automatisierung: Kombiniere den Import mit weiteren Excel-Funktionen, um die Datenanalyse zu optimieren.

FAQ: Häufige Fragen

1. Wie kopiere ich ein Word-Dokument?
Du kannst ein Word-Dokument einfach mit Strg + C kopieren und mit Strg + V in Excel einfügen. Für spezifische Daten empfiehlt sich ein Makro.

2. Welche Excel-Version benötige ich für Makros?
Makros sind in den meisten modernen Excel-Versionen verfügbar, z.B. Excel 2010 und höher. Achte darauf, dass die Entwicklertools aktiviert sind.

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