Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1872to1876
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Suchen und ersetzen in vielen Datein

Suchen und ersetzen in vielen Datein
18.03.2022 15:51:30
Christoph
Hallo!
Habe folgenden Problem.
Ich muss mehrere Dateien mit suchen und ersetzen bearbeiten. Die Dateien sind schreibgeschützt (Passwort: Test PW)
Den Text den ich Suche und ersetzen möchte wurde mit Umbrüche eingegeben:
Text Alt:
"Frau
MAX
1"
Text Neu:
"Herr
Blah
2"
Da ich mehrere Hundert Dateien bearbeiten muss wäre ein Makro perfekt. hat jemand eine Idee?
LG
Christoph

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Ohne Datei keine Bastelei
18.03.2022 16:02:24
Yal
Hallo Christoph,
sehr Süß, dass Du uns ein Passwort gibt. Aber ohne Datei, das ist wie ein Schlüssel ohne Schloss. Post mal eine Datei.
Du hast bestimmt die Kette "Datei öffnen, Schreibschutz aufheben, Suchen-Ersetzen, Schreibschutz wieder einstellen, Speichern, Schliessen" unter laufende Makrorekorder aufegenommen oder? Dann was Dir fehlt, ist die Schleife über verschiedene Dateien, richtig?
VG
Yal
AW: Ohne Datei keine Bastelei
18.03.2022 16:40:06
Yal
Hallo Christoph,
sieht gut aus. Ausser ein paar Korrekturen, um zu sichern, dass es so läuft, aber wo ist das Problem?

Sub ersetzen()
Dim Dateien
Dim i
Dim wb As Workbook
Dim ws As Worksheet
Dateien = Application.GetOpenFilename("Excel-Dateien (*.xls*), *.xls*", MultiSelect:=True)
Application.ScreenUpdating = False
If IsArray(Dateien) Then
For i = 0 To UBound(Dateien)
Set wb = Workbooks.Open(Dateien(i))
For Each ws In wb.Worksheets
ws.Unprotect Password:="Test PW"
ws.Cells.Replace What:="Frau Max 1", _
Replacement:="Herr Blah 2", _
LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
ws.Protect Password:="Test PW"
Next
wb.Save
wb.Close
Next
End If
Application.ScreenUpdating = True
End Sub
VG
Yal
Anzeige
AW: Ohne Datei keine Bastelei
18.03.2022 16:48:20
Christoph
Es kommt die Meldung "Index außerhalb des gültigen Bereichs"
Die Arbeitsmappe ich auch noch geschützt. Daran liegt es aber nicht.
AW: Ohne Datei keine Bastelei
18.03.2022 17:37:53
Yal
ändere in
For i = 1 To UBound(Dateien)
AW: Ohne Datei keine Bastelei
18.03.2022 17:51:53
Christoph
Wurde der Text mit Alt+Enter umbrochen funktionier es aber nicht.
AW: Ohne Datei keine Bastelei
18.03.2022 18:14:40
Yal
geht es auch ausführlicher?
Sorry, aber dein Engagement vernichtet meine Motivation.
Viel Erfolg. Ich lasse es für Dich offen.
VG
Yal
AW: Ohne Datei keine Bastelei
18.03.2022 18:54:03
Christoph
Sorry. Anbei eine Datei an der du mein Problem sofort erkennen kannst.
https://www.herber.de/bbs/user/151853.xlsx
LG
Christoph
Anzeige
AW: Ohne Datei keine Bastelei
18.03.2022 19:30:21
Yal
Es gibt sogar Leute, die das mit Worte beschreiben. Mit vollständigen Sätze.

Sub Ersetzen()
Dim Dateien
Dim Datei
Dim wb As Workbook
Dim ws As Worksheet
Dim Protec
Dateien = Application.GetOpenFilename _
("Excel-Dateien (*.xls*), *.xls*", MultiSelect:=True)
Application.ScreenUpdating = False
Application.EnableEvents = False
For Each Datei In Dateien
Set wb = Workbooks.Open(Datei)
wb.Unprotect Password:="Test PW"
For Each ws In wb.Worksheets
Protec = ws.ProtectionMode
If Protec Then ws.Unprotect Password:="Test PW"
ws.Cells.Replace _
What:="Frau Max 1", _
Replacement:="Herr Blah 2", _
LookAt:=xlPart, MatchCase:=False
ws.Cells.Replace _
What:=Replace("Frau Max 1", " ", vbCr), _
Replacement:="Herr Blah 2", _
LookAt:=xlPart, MatchCase:=False
If Protec Then ws.Protect Password:="Test PW"
Next
wb.Protect Password:="Test PW"
wb.Save
wb.Close
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
EoM
VG
Yal
Anzeige
AW: Ohne Datei keine Bastelei
18.03.2022 20:37:59
Christoph
Sorry! Werde dies beim nächsten mal ausführlicher beschreiben.
Eine Frage habe ich noch. Leider habe ich gesehen, dass es auch ausgeblendete Tabellenblätter gibt welche ich ändern muss.
Ist es auch möglich diese abzufangen?
Herzlichen Dank für deine Hilfe!!!
LG
Christoph

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige