Ich habe vor einiger Zeit hier im Forum freundliche Hilfe erhalten. Und zwar stand ich vor dem Problem, dass ich mehrere Wörter in mehreren Dokumenten ersetzen wollte. Dazu erhielt ich hier folgenden Code:
Sub ersetzen()
Dim dateien
Dim Wörter
Dim W As Long
dateien = Application.GetOpenFilename _
("Excel-Dateien (*.xlsx), *.xlsx", MultiSelect:=True)
Wörter = ThisWorkbook.Sheets("Tabelle1").Cells(1, 1).CurrentRegion.Value
Application.ScreenUpdating = False
If IsArray(dateien) Then
For i = 1 To UBound(dateien)
Workbooks.Open dateien(i)
With ActiveWorkbook
For n = 1 To .Sheets.Count
For W = 1 To UBound(Wörter)
.Sheets(n).Cells.Replace What:=Wörter(W, 1), _
Replacement:=Wörter(W, 2), _
LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
Next
Next
.Save
.Close
End With
Next
End If
End Sub
Den ursprünglichen Zweck hat er erfüllt, aber jetzt stehe ich vor einem neuen Problem: es soll der gesamte Zelleninhalt berücksichtigt werden. Abc zu Xyz soll Abc ersetzen, nicht aber Abcdef
(ich hoffe das ist verständlich)
Gibt es eine Möglichkeit, den Code entsprechend anzupassen?
Vielen Dank und liebe Grüsse
Tristan