Direkt zum Inhalt

Wie finde und ersetze ich Text in einem Word-Dokument aus Excel?

In Word-Dokumenten können wir die Funktion Suchen und Ersetzen anwenden, um einen Text schnell zu finden und zu ersetzen. Wenn jedoch mehrere Texte gesucht und ersetzt werden müssen, ist es zeitaufwändig, die Texte einzeln in die Funktion „Suchen und Ersetzen“ einzugeben. In diesem Fall können Sie die Texte zum Suchen und Ersetzen in die Liste der Zellen eingeben und diese Aufgabe mit Hilfe von VBA-Code in Excel problemlos erledigen. In diesem Artikel werde ich auch eine nützliche Funktion zum Stapelsuchen und Ersetzen von Texten in mehreren Word-Dokumenten vorstellen.

Suchen und ersetzen Sie mehrere Texte in einem Word-Dokument aus Excel mit VBA-Code

Suchen und ersetzen Sie mehrere Texte in mehreren Word-Dokumenten aus Excel mit VBA-Code

Suchen und ersetzen Sie mehrere Texte in mehreren Word-Dokumenten mit einer leistungsstarken Funktion


Suchen und ersetzen Sie mehrere Texte in einem Word-Dokument aus Excel mit VBA-Code

Wenn Sie einige Texte in nur einer Word-Datei suchen und ersetzen möchten, kann Ihnen der folgende VBA-Code einen Gefallen tun.

1. Erstellen Sie im Excel-Arbeitsblatt eine Spalte mit den Texten, die Sie suchen und ersetzen möchten, und eine weitere Spalte mit Texten, die Sie ersetzen möchten, wie im folgenden Screenshot gezeigt. Und dann drücken Alt + F11 Tasten gleichzeitig zum Öffnen der Microsoft Visual Basic für Applikationen Fenster.

2. Dann klick Insert > Modul, kopieren Sie den folgenden VBA-Code und fügen Sie ihn in das Fenster ein.

VBA-Code: Finden und ersetzen Sie mehrere Texte in einer Word-Datei

Sub replace_texts_range_of_cells()
'Updateby ExtendOffice
Dim xWordApp As Word.Application
Dim xDoc As Word.Document
Dim xRng As Range
Dim I As Integer
Dim xFileDlg As FileDialog
On Error GoTo ExitSub
Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
xFileDlg.AllowMultiSelect = False
xFileDlg.Filters.Add "Word Document", "*.docx; *.doc; *.docm"
xFileDlg.FilterIndex = 2
If xFileDlg.Show <> -1 Then GoTo ExitSub
Set xRng = Application.InputBox("Please select the lists of find and replace texts (Press Ctrl key to select two same size ranges):", "Kutools for Excel", , , , , , 8)
If xRng.Areas.Count <> 2 Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size.", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
If (xRng.Areas.Item(1).Rows.Count <> xRng.Areas.Item(2).Rows.Count) Or _
  (xRng.Areas.Item(1).Columns.Count <> xRng.Areas.Item(2).Columns.Count) Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size.", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
Set xWordApp = CreateObject("Word.application")
xWordApp.Visible = True
Set xDoc = xWordApp.Documents.Open(xFileDlg.SelectedItems.Item(1))
For I = 1 To xRng.Areas.Item(1).Cells.Count
  With xDoc.Application.Selection.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = xRng.Areas.Item(1).Cells.Item(I).Value
    .Replacement.Text = xRng.Areas.Item(2).Cells.Item(I).Value
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
  End With
  xDoc.Application.Selection.Find.Execute Replace:=wdReplaceAll
Next
ExitSub:
  Set xRng = Nothing
  Set xFileDlg = Nothing
  Set xWordApp = Nothing
  Set xDoc = Nothing
End Sub

3. Nach dem Einfügen des Codes immer noch in der Microsoft Visual Basic für Applikationen Klicken Sie im Fenster Tools > Bibliographie, siehe Screenshot:

4. In der herausgesprungenen Referenzen - VBAProject Wählen Sie im Dialogfeld Microsoft Word 16.0-Objektbibliothek aus dem Listenfeld, siehe Screenshot:

5. Klicken Sie OK Schaltfläche, um das Dialogfeld zu schließen, und drücken Sie jetzt F5 Taste, um diesen Code auszuführen, wählen Sie im Popup-Fenster „Durchsuchen“ die Word-Datei aus, in der Sie die Texte ersetzen möchten, siehe Screenshot:

6. Dann klick OK, drücken Sie im folgenden Dialogfeld Ctrl Taste, um den Originaltext und neue Textzellen, die Sie verwenden möchten, separat auszuwählen, siehe Screenshot:

7. Und dann klicken OK klicken, jetzt werden die Texte gefunden und durch die neuen Texte in Ihrem angegebenen Dokument ersetzt, und die Datei wird ebenfalls geöffnet. Sie sollten sie speichern, um die Änderungen beizubehalten.


Suchen und ersetzen Sie mehrere Texte in mehreren Word-Dokumenten aus Excel mit VBA-Code

Hier erstelle ich auch einen VBA-Code zum Suchen und Ersetzen mehrerer Texte in mehreren Word-Dokumenten, bitte gehen Sie wie folgt vor:

1. Öffnen Sie die Excel-Datei, die zwei Spalten mit zu ersetzenden und zu ersetzenden Werten enthält, wie im folgenden Screenshot gezeigt, und drücken Sie dann Alt + F11 Tasten gleichzeitig zum Öffnen der Microsoft Visual Basic für Applikationen Fenster.

2. Dann klick Insert > Modul, kopieren Sie den folgenden VBA-Code und fügen Sie ihn in das Fenster ein.

VBA-Code: Finden und ersetzen Sie mehrere Texte in mehreren Word-Dateien

Sub FindReplaceAcrossMultipleWordDocuments()
'Updateby ExtendOffice
Dim xWordApp As Word.Application
Dim xDoc As Word.Document
Dim xRng As Range
Dim I As Integer
Dim xFolderDlg As FileDialog
Dim xFSO As Scripting.FileSystemObject
Dim xFile As File
On Error GoTo ExitSub
Set xFolderDlg = Application.FileDialog(msoFileDialogFolderPicker)
If xFolderDlg.Show <> -1 Then GoTo ExitSub
Set xRng = Application.InputBox("Please select the lists of find and replace texts (Press Ctrl key to select two same size ranges", "Kutools for Excel", , , , , , 8)
If xRng.Areas.Count <> 2 Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
If (xRng.Areas.Item(1).Rows.Count <> xRng.Areas.Item(2).Rows.Count) Or _
  (xRng.Areas.Item(1).Columns.Count <> xRng.Areas.Item(2).Columns.Count) Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size.", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
Set xFSO = New Scripting.FileSystemObject
Set xWordApp = CreateObject("Word.application")
xWordApp.Visible = True
For Each xFile In xFSO.GetFolder(xFolderDlg.SelectedItems(1)).Files
  If VBA.InStr(xFile.Type, "Microsoft Word") > 0 Then
    Set xDoc = xWordApp.Documents.Open(xFile.Path)
    For I = 1 To xRng.Areas.Item(1).Cells.Count
      With xDoc.Application.Selection.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Text = xRng.Areas.Item(1).Cells.Item(I).Value
        .Replacement.Text = xRng.Areas.Item(2).Cells.Item(I).Value
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
      End With
      xDoc.Application.Selection.Find.Execute Replace:=wdReplaceAll
    Next
    xDoc.Close wdSaveChanges
  End If
Next
xWordApp.Quit
MsgBox "The Find and Replace has been completed", vbInformation + vbOKOnly, "Kutools for Excel"
ExitSub:
  Set xRng = Nothing
  Set xFolderDlg = Nothing
  Set xWordApp = Nothing
  Set xDoc = Nothing
End Sub

3. Immer noch in der Microsoft Visual Basic für Applikationen Klicken Sie im Fenster Tools > BibliographieIn der Referenzen - VBAProject Wählen Sie im Dialogfeld Microsoft Word 16.0-Objektbibliothek und Microsoft Scripting-Laufzeit Optionen aus dem Listenfeld, siehe Screenshot:

4. Nachdem Sie die beiden Optionen überprüft haben, klicken Sie auf OK , um das Dialogfeld zu schließen, und drücken Sie dann weiter auf F5 Schlüssel zum Ausführen dieses Codes in der Öffnung Entdecken Wählen Sie im Fenster einen Ordner aus, der die Word-Dokumente enthält, die Sie suchen und ersetzen möchten, siehe Screenshot:

5. Klicken Sie OK Schaltfläche, drücken Sie im Popup-Dialogfeld Ctrl Taste, um den Originaltext und neue Textspalten separat auszuwählen, die Sie verwenden möchten, siehe Screenshot:

6. Abschließend klicken Sie auf OK, und die ursprünglichen Texte werden in diesen Dateien durch die neuen ersetzt. Nach dem Abschluss wird ein Dialogfeld angezeigt, wie im folgenden Screenshot gezeigt:

7. Klicken Sie OK um den Dialog zu schließen. Und Sie können zu den Dateien gehen, um die konvertierten Ergebnisse zu überprüfen.


Suchen und ersetzen Sie mehrere Texte in mehreren Word-Dokumenten mit einer leistungsstarken Funktion

In diesem Abschnitt werde ich darüber sprechen, wie Sie Texte in mehreren Word-Dokumenten stapelweise aus Word anstelle von Excel finden und ersetzen. Mit einem mächtigen Werkzeug-Kutools for Word, können Sie die spezifischen Texte schnell finden und ersetzen und durch neue Texte in Hauptdatei, Kopfzeile, Fußzeile, Kommentaren usw. ersetzen und die Ergebnisse nach Bedarf hervorheben.

1. Öffnen Sie eine Word-Datei und klicken Sie dann auf Kutoolen Plus > Batch suchen und ersetzen, siehe Screenshot:

2. In der geöffneten Batch suchen und ersetzen Im Dialogfeld führen Sie bitte die folgenden Vorgänge aus:

  • Klicken Sie auf Kostenlos erhalten und dann auf Installieren. Speichern Schaltfläche zum Hinzufügen der Word-Dateien, in denen Sie Texte suchen und ersetzen möchten;
  • Klicken Sie im linken Bereich auf Zeile hinzufügen vom oberen Band;
  • Geben Sie im eingefügten Feld den ursprünglichen Text und den neuen Text ein Finden Sie und Ersetzen Spalten getrennt, die Sie suchen und ersetzen möchten. Außerdem können Sie nach Bedarf eine Farbe zum Hervorheben der ersetzten Texte angeben.

3. Nachdem Sie die Suchkriterien erstellt haben, klicken Sie auf Ersetzen Taste, um die gehen Ergebnisvorschau Registerkarte, um die Ergebnisse des Suchens und Ersetzens anzuzeigen. Siehe Screenshot:

4. Dann klick Menu Schaltfläche und ein Eingabeaufforderungsfeld erscheint, um Sie daran zu erinnern, ob Sie dieses Szenario speichern möchten, klicken Sie auf Ja um es zu speichern, und klicken Sie auf Nein Um es zu ignorieren, siehe Screenshot:

Tips: Diese Funktion kann auch dabei helfen, die folgenden Vorgänge auszuführen:
  • Suchen und Ersetzen von Sonderzeichen in mehreren Word-Dokumenten;
  • Finden und ersetzen Sie mehrere Zeichenfolgen mit bestimmten Formatierungen in mehreren Word-Dokumenten;
  • Finden und ersetzen Sie mehrere Zeichenfolgen in mehreren txt/htm/html-Dateien.

Klicken Sie hier, um weitere Informationen zu dieser Funktion zu erhalten…

Beste Office-Produktivitätstools

🤖 Kutools KI-Assistent: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung   |  Code generieren  |  Erstellen Sie benutzerdefinierte Formeln  |  Analysieren Sie Daten und erstellen Sie Diagramme  |  Rufen Sie Kutools-Funktionen auf...
Beliebte Funktionen: Suchen, markieren oder identifizieren Sie Duplikate   |  Leere Zeilen löschen   |  Kombinieren Sie Spalten oder Zellen, ohne Daten zu verlieren   |   Runde ohne Formel ...
Super-Lookup: VLookup mit mehreren Kriterien    VLookup mit mehreren Werten  |   VLookup über mehrere Blätter hinweg   |   Unscharfe Suche ....
Erweiterte Dropdown-Liste: Erstellen Sie schnell eine Dropdown-Liste   |  Abhängige Dropdown-Liste   |  Mehrfachauswahl Dropdown-Liste ....
Spaltenmanager: Fügen Sie eine bestimmte Anzahl von Spalten hinzu  |  Spalten verschieben  |  Schalten Sie den Sichtbarkeitsstatus ausgeblendeter Spalten um  |  Vergleichen Sie Bereiche und Spalten ...
Ausgewählte Funktionen: Rasterfokus   |  Designansicht   |   Große Formelleiste    Arbeitsmappen- und Blattmanager   |  Ressourcen (Autotext)   |  Datumsauswahl   |  Arbeitsblätter kombinieren   |  Zellen verschlüsseln/entschlüsseln    Senden Sie E-Mails nach Liste   |  Superfilter   |   Spezialfilter (Filter fett/kursiv/durchgestrichen...) ...
Top 15 Toolsets12 Text Tools (Text hinzufügen, Zeichen entfernen, ...)   |   50+ Chart Typen (Gantt-Diagramm, ...)   |   40+ Praktisch Formeln (Berechnen Sie das Alter basierend auf dem Geburtstag, ...)   |   19 Einfügen Tools (QR-Code einfügen, Bild aus Pfad einfügen, ...)   |   12 Umwandlung (Conversion) Tools (Zahlen zu Wörtern, Currency Conversion, ...)   |   7 Zusammenführen & Teilen Tools (Erweiterte Zeilen kombinieren, Zellen teilen, ...)   |   ... und mehr

Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen.  Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...

Beschreibung


Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!
Comments (10)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
This works great, thank you! Is there a way to make the replacement text carry hyperlinks over? ie - if you have a hyperlinked replacement in the excel sheet, it is still hyperlinked in the Word doc?

Thanks!
This comment was minimized by the moderator on the site
Is there a way too modify this too find text and create hyperlink on the text from another column where i have the links already created? It worked correctly as a find and replace for me. Thanks
This comment was minimized by the moderator on the site
Hi,

I am wondering how this can be modified to also find and replace text in footnotes?

Thanks!
This comment was minimized by the moderator on the site
Hello, Nate,
If you want to find and replace the text in footnotes at the same time, maybe the Kutools for Word's Batch Find and Replace feature can help you.
You just need to check Main document and Footnotes from the Find in section, see below image:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word.png
This comment was minimized by the moderator on the site
It doesn't work.

Compile error: User-defined type not defined
This comment was minimized by the moderator on the site
Hello, Param
The code works well.
Maybe, you didn't check Microsoft Word 16.0 Object Library from the References – VBAProject dialog box.
It means that you may miss the Step 3 and Step 4 of this article.
Please try again, if you still have any other problem, please comment here.
https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word-file-excel.png
This comment was minimized by the moderator on the site
Sorry for the overdue reply. I have replied before, but my reply dissapeared somehow. You're right, the code does work well. But it replaced nothing when I tried it on a file with more than 80,000 lines.
This comment was minimized by the moderator on the site
Hello, Param
I have tested the code, it works well in my Word docuent which contains 140,000 lines.
Do you mind to upload your attachment here for testing?
Or you can apply our Kutools for Word's Batch Find and Replace feature, it can help you with ease.
Thank you!
This comment was minimized by the moderator on the site
Greetings,
the first code :
VBA code: Find and replace multiple texts in one Word file

thows error : compile error user defined type not defined
https://i.imgur.com/FZPBy4I.png
This comment was minimized by the moderator on the site
Hello, Erik
The code works well.
Maybe, you didn't check Microsoft Word 16.0 Object Library from the References – VBAProject dialog box.
It means that you may miss the Step 3 and Step 4 of this article.
Please try again, if you still have any other problem, please comment here.

https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word-file-excel.png
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations