Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1792to1796
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 Datei

Suchen und ersetzen in Datei
26.11.2020 13:45:35
Bubba
Hallo zusammen,
ich würde gerne in einer Datei mehrfach Suchen und ersetzen machen.
Bsp:
Die Werte die gesucht werden sind in in Tabelle2 A2:A3
Blau
Rot
Die Werte die ersezt werden sind in der Tabelle2 B2:B3
TEST_1
TEST_2
In der Datei.txt steht:
"hallo das ist Rot und das ist Blau"
Bei dem Ausführen soll dann das Makro Blau mit TEST_1 und Rot mit TEST_2 ersetzen.
"hallo das ist TEST_1 und das ist TEST_2"
Ich habe bereits ein SUCHEN und ERSETZEN Makro was die Werte jedoch nicht in der Datei bearbeitet sondern in Tabelle1:
Option Explicit
Sub SUCHEN_ERSETZEN()
Dim i%, strWhat$, strRplc$
With Sheets("Tabelle2")
For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
strWhat = .Cells(i, 1)
strRplc = .Cells(i, 2)
Sheets("Tabelle1").Cells.Replace strWhat, strRplc, xlPart
Next
End With
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen und ersetzen in Datei
26.11.2020 13:56:50
worti
Hallo Bubba,
was meinst du mit Datei? Suchen und ersetzten in allen Arbeitsblättern?
Gruß Worti
AW: Suchen und ersetzen in Datei
26.11.2020 14:03:27
Alina
Hallo Bubba
Ich verstehe deine Problembeschreibung leider nicht ganz. Auf Excel hast du in der Leiste das Feld Bearbeiten. Wenn du auf Bearbeiten klickst, dann solltest du die Suchen und Ersetzen Funktion finden. Dort kannst du dann auch "alle Tabellenblätter" auswählen. Außerdem würde ich das Häkchen bei "Groß-/Kleinschreibung" beachten rausnehmen. Dann sollten die Werte überall ersetzt werden. Funktioniert es mit dieser Funktion nicht? Bei mir hat das immer so geklappt.
Liebe Grüße
Alina
Anzeige
AW: Suchen und ersetzen in Datei
26.11.2020 14:13:18
Bubba
Hallo,
Wenn ich das VBA Makro ausführe, dann soll im Pfad C:\Datei.txt die Datei "Datei.txt" mit Suchen und Ersetzen bearbeitet wrden.
Die Werte die Gesucht und ersetzt werden sind im Arbeitsblatt "Tabelle2" in Spalte A (SUCHEN) und Spalte B (Ersetzen) hinterlegt.
Das Makro macht dann mehrfach Suchen und ersetzen in der der Datei.txt
AW: Suchen und ersetzen in Datei
26.11.2020 15:20:57
worti
Hallo Bubba,
dann zum Beispiel so:
Sub Ersetzen_in_TXT_Datei()
Const LeseZugriff = 1
Const SchreibZugriff = 2
Dim fso As Object
Dim objTextStreamIn As Object
Dim objTextStreamOut As Object
Dim strInfileContent As String
Dim lngZeile As Long
Dim ws As Worksheet
Set ws = ActiveSheet
'Ein Scripting.FileSystemObject erstellen
Set fso = CreateObject("Scripting.FileSystemObject")
'Öffnen der Datei zum Lesen ...
Set objTextStreamIn = fso.OpenTextFile("C:\Datei.txt", LeseZugriff)
'Öffnen der Datei für die Ausgabe*...
Set objTextStreamOut = fso.OpenTextFile("C:\DateiNeu.txt", SchreibZugriff, True)
Do While objTextStreamIn.AtEndOfStream  True
'Einlesen Zeile
strInfileContent = objTextStreamIn.Readline
For lngZeile = 2 To Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row
strInfileContent = Application.WorksheetFunction.Substitute(strInfileContent, ws. _
Cells(lngZeile, 1).Value, ws.Cells(lngZeile, 2).Value)
Next lngZeile
objTextStreamOut.writeline strInfileContent
Loop
objTextStreamOut.Close
objTextStreamIn.Close
'Brav die Objekte zerstören
Set objTextStreamIn = Nothing
Set objTextStreamOut = Nothing
Set fso = Nothing
setr ws = Nothing
End Sub

Anzeige
AW: Suchen und ersetzen in Datei
27.11.2020 07:37:12
Bubba
Hallo worti,
vielen Dank!! Das ist super.
Jetzt habe ich noch das Problem das die Datei.txt eigentlich eine CSV-Datei ist die in Unicode Formatiert ist.
Wenn ich nun das VBA-Script ausführe, zerstört sich die Formatierung und zeigt nur noch: "ഊഊഊഊഊ...."
Kannst du mir bei diesem Problem auch nooch helfen, das wäre Großartig. :)
AW: Suchen und ersetzen in Datei
27.11.2020 08:00:06
Bubba
Ich habe auch das mit dem Format probiert, jedoch hat sich bei dem Ergebnis nichts geändert.
"fso.OpenTextFile("C:\Datei.txt", LeseZugriff, ,TristateTrue)"
Es handelt sich um eine UTF-16 LE Codierung

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige