Supportnet / Forum / Tabellenkalkulation
Replace in Word mit Excel Daten
Frage
Hallo zusammen
Geht das? Ich hab ein Excel File Spalte A und Spalte B (500 Zeilen). Und ich hab ein riesen Word File mit ca. 200 Seiten.
Kann ich nun im Word einen Befehl eingeben Ersetze alle Wert aus der Excel Spalte A mit dem jeweiligen Wert aus Excel Spalte B im Word?
Ich muss die Werte in Word ersetzen. Und hab diese Infos schon im Excel!
wäre toll wenn mir jemand helfen könnte!
gruss
danny77
Antwort 1 von want2cu
hallo danny,
wie sieht dein Word-File denn genauer aus?
Ist es ein normaler Text oder hast du vielleicht eine Tabelle eingebaut?
Die Werte aus der Excel-Tabelle: sind es eindeutige Werte, die nur ein einziges Mal vorkommen oder gibt es auch Dubletten?
Schieb mal ein paar Infos rüber, dann kann man sich genauere Gedanken über eine passende Lösung machen.
CU
Klaus
wie sieht dein Word-File denn genauer aus?
Ist es ein normaler Text oder hast du vielleicht eine Tabelle eingebaut?
Die Werte aus der Excel-Tabelle: sind es eindeutige Werte, die nur ein einziges Mal vorkommen oder gibt es auch Dubletten?
Schieb mal ein paar Infos rüber, dann kann man sich genauere Gedanken über eine passende Lösung machen.
CU
Klaus
Antwort 2 von danny77
OK danke Klaus
In der Excel Tabelle steht in der Spalte 1 bzw 29911 und in der Spalte 2 876543. In der Spalte 1 Zeile 2 bzw. 78909 und in Spalte 2 Zeile 2 bzw. 99999. Es sind Total 500 Zahlenwerte sprich 500 Zeilen.
Nun soll das Word abgesucht werden nach 29911 ersetzen durch 87653 und dann zur zweiten Zeile suchen nach 78909 ersetzen durch 99999.
Im Word selber gibt es keine richtige logische Struktur oder gar Tabellen.
hoffe ihr habt ne idee!
danny77
In der Excel Tabelle steht in der Spalte 1 bzw 29911 und in der Spalte 2 876543. In der Spalte 1 Zeile 2 bzw. 78909 und in Spalte 2 Zeile 2 bzw. 99999. Es sind Total 500 Zahlenwerte sprich 500 Zeilen.
Nun soll das Word abgesucht werden nach 29911 ersetzen durch 87653 und dann zur zweiten Zeile suchen nach 78909 ersetzen durch 99999.
Im Word selber gibt es keine richtige logische Struktur oder gar Tabellen.
hoffe ihr habt ne idee!
danny77
Antwort 3 von Milka84
hey danny, schick mal nen Auszug von beiden Dateien an meine e-mail-addy!!!
Antwort 4 von Guenter
Hi danny77,
ich habe leider auch keine Lösung dafür parat. Aber man könnte so vorgehen:
Kopiere doch die beiden Spalten der Excel-Datei in einen neue Word-Datei. Dann kannst Du ein Makro aufzeichnen, was Dir genau Dein Suchen/Ersetzen durchführt. Danach muss das Makro allerdings noch so verändert werden, das es alle Zeilen der Word-Tabelle ab-arbeitet, d.h. eine Schleife eingebaut werden.
Leider kenne ich mich mit Word-Makros nicht so gut aus, als dass ich die Prozedur jetzt schreiben kann.
Es ist sicher auch möglich, das Ganze Word-Excel übergreifend zu machen, aber möglicherweise noch etwas komplizierter.
Vielleicht hat noch jemand eine Idee?
Gruß
Günter
ich habe leider auch keine Lösung dafür parat. Aber man könnte so vorgehen:
Kopiere doch die beiden Spalten der Excel-Datei in einen neue Word-Datei. Dann kannst Du ein Makro aufzeichnen, was Dir genau Dein Suchen/Ersetzen durchführt. Danach muss das Makro allerdings noch so verändert werden, das es alle Zeilen der Word-Tabelle ab-arbeitet, d.h. eine Schleife eingebaut werden.
Leider kenne ich mich mit Word-Makros nicht so gut aus, als dass ich die Prozedur jetzt schreiben kann.
Es ist sicher auch möglich, das Ganze Word-Excel übergreifend zu machen, aber möglicherweise noch etwas komplizierter.
Vielleicht hat noch jemand eine Idee?
Gruß
Günter
Antwort 5 von ThomasG
Hallo Danny,
du wirst um ein wenig Programmierung wahrscheinlich nicht herumkommen. Ich habe mal so etwas aus Visual FoxPro angestellt. Unter Word gibt es Visual Basic dort kann man die Methode FindReplace verwenden. Schau mal in der Hilfe von Word.
Gruß
Thomas
du wirst um ein wenig Programmierung wahrscheinlich nicht herumkommen. Ich habe mal so etwas aus Visual FoxPro angestellt. Unter Word gibt es Visual Basic dort kann man die Methode FindReplace verwenden. Schau mal in der Hilfe von Word.
Gruß
Thomas
Antwort 6 von Milka84
da ich mich mit Programmierung etc auch nicht so auskenne, hier mein Lösungsvorschlag:
1. Speichern des Word-Files als *.txt!
2. Öffnen der TXT in Excel
Dann siehts ca so aus
Spalte A
Text 1
Text 2
102345
3. So, in Spalte B fügst du jetzt einen Sverweis ein: =SVERWEIS(A1;[excel.xls]Tabelle1!$A:$B;2;FALSCH)
4. Diesen kopierst du dann und fügst nur die Inhalte ein!!!
5. Ersetzen der #NV nurch "" (sprich nichts)
6. in Spalte C ne Wenn Formel --> ungefähr so:
=wenn(b1="";a1;b1)
7. Diese Formel wieder kopieren und Inhalte einfügen
8. Überflüssige Spalten löschen (A und B)
9. Speichern
10. In word aufrufen
FERTIG
Ich weiß, etwas umständlich und vielleicht gehts mit nem Makro besser, aber es ist ja erst mal nen Ansatz!!!!
Hope it helps
Michael
1. Speichern des Word-Files als *.txt!
2. Öffnen der TXT in Excel
Dann siehts ca so aus
Spalte A
Text 1
Text 2
102345
3. So, in Spalte B fügst du jetzt einen Sverweis ein: =SVERWEIS(A1;[excel.xls]Tabelle1!$A:$B;2;FALSCH)
4. Diesen kopierst du dann und fügst nur die Inhalte ein!!!
5. Ersetzen der #NV nurch "" (sprich nichts)
6. in Spalte C ne Wenn Formel --> ungefähr so:
=wenn(b1="";a1;b1)
7. Diese Formel wieder kopieren und Inhalte einfügen
8. Überflüssige Spalten löschen (A und B)
9. Speichern
10. In word aufrufen
FERTIG
Ich weiß, etwas umständlich und vielleicht gehts mit nem Makro besser, aber es ist ja erst mal nen Ansatz!!!!
Hope it helps
Michael
Antwort 7 von danny77
danke michael
ich hätte noch erwähnen müssen, dass das Word File 120 mb gross ist mit hunderten von Bildern. Das kann ich unmöglich als txt abspeichern und dann wieder in die herkömmliche form bringen. ich denke wirklich dass es richtung makro oder vb geht.
vielleicht noch eine andere idee?
danny
ich hätte noch erwähnen müssen, dass das Word File 120 mb gross ist mit hunderten von Bildern. Das kann ich unmöglich als txt abspeichern und dann wieder in die herkömmliche form bringen. ich denke wirklich dass es richtung makro oder vb geht.
vielleicht noch eine andere idee?
danny
Antwort 8 von Milka84
oha, na wenn da noch bilder etc drin sind kann es so nicht funzen. Ich dachte, dass es sich nur um text handelt!!
Da müssen wohl unsere Programmier-Experten ran!
Sorry :-((
Michael
Da müssen wohl unsere Programmier-Experten ran!
Sorry :-((
Michael
Antwort 9 von Guenter
Hi danny,
machs doch so, wie ich es gesagt hatte (Antwort 4). Wenn Du ein Wordfile mit den Zahlen in einer Tabelle hast und der Cursor in der Tabelle links oben steht, dann kannst Du mal ein Makro wie dieses versuchen.
Sub zahl_ersetzen()
For n = 1 To 500
Selection.MoveRight Unit:=wdCharacter, Count:=5, Extend:=wdExtend 'nur 5 stellige Zahlen
Selection.Copy
zahl = Selection.Text
Windows("FileName.doc").Activate
Selection.Find.ClearFormatting
With Selection.Find
.Text = zahl
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
Windows("Tabelle").Activate
Selection.MoveRight Unit:=wdCharacter, Count:=2
Selection.MoveRight Unit:=wdCharacter, Count:=8, Extend:=wdExtend
Selection.Copy
Windows("FileName.doc").Activate
Selection.Paste
Windows("Tabelle").Activate
Selection.MoveRight Unit:=wdCharacter, Count:=3
Next
End Sub
Es funktioniert möglicherweise noch nicht vollständig (wenn nichts gefunden wird, wenn mehr oder weniger als 5 stellige Zahlen, usw.)
Deshalb ganz wichtig:
Alle Dokumente sichern vor Makroausführung!!!
Gruß
Günter
machs doch so, wie ich es gesagt hatte (Antwort 4). Wenn Du ein Wordfile mit den Zahlen in einer Tabelle hast und der Cursor in der Tabelle links oben steht, dann kannst Du mal ein Makro wie dieses versuchen.
Sub zahl_ersetzen()
For n = 1 To 500
Selection.MoveRight Unit:=wdCharacter, Count:=5, Extend:=wdExtend 'nur 5 stellige Zahlen
Selection.Copy
zahl = Selection.Text
Windows("FileName.doc").Activate
Selection.Find.ClearFormatting
With Selection.Find
.Text = zahl
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
Windows("Tabelle").Activate
Selection.MoveRight Unit:=wdCharacter, Count:=2
Selection.MoveRight Unit:=wdCharacter, Count:=8, Extend:=wdExtend
Selection.Copy
Windows("FileName.doc").Activate
Selection.Paste
Windows("Tabelle").Activate
Selection.MoveRight Unit:=wdCharacter, Count:=3
Next
End Sub
Es funktioniert möglicherweise noch nicht vollständig (wenn nichts gefunden wird, wenn mehr oder weniger als 5 stellige Zahlen, usw.)
Deshalb ganz wichtig:
Alle Dokumente sichern vor Makroausführung!!!
Gruß
Günter
Antwort 10 von danny77
herzlichen dank
die ersten tests funktionierten einwandfrei. da werd ich zum ziel kommen.
Besten Dank Günter und ein schönes Wochenende.
Danny
die ersten tests funktionierten einwandfrei. da werd ich zum ziel kommen.
Besten Dank Günter und ein schönes Wochenende.
Danny

