Supportnet Computer
Planet of Tech

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

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

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



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

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

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

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

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

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

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: