Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
1020to1024
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

Txt - Text suchen und ersetzen VBA

Txt - Text suchen und ersetzen VBA
30.10.2008 13:09:28
Stevie
Hie zusammen,
ich hoffe mir kann hier jemand helfen, ich habe einen Code aus dem Internet (oder sogar von der Seite hier) und den muss ich leider ein bisschen anpassen. Der Code sucht in einer Textdatei nach einer bestimmten Zeichenfolge STxtA und ersetzt diesen Text durch STxtB. Soweit so gut ich brauche das allerdings für mehr als nur eine Variable. Also mit STxtC und STxtD usw.
Das ganze soll später eine Textdatei geben in der alle definierten Variablen ausgetauscht worden sind.
Lieder habe ich keine Ahnung wie ich es in diesem Auszug aus dem Code hier lösen soll:
Open sSource For Input As #1
Do Until EOF(1)
Line Input #1, sTxt
If InStr(sTxt, sTxtA) Then
sTxt = Replace(sTxt, sTxtA, sTxtB)
End If
iCounter = iCounter + 1
ReDim Preserve arr(1 To iCounter)
arr(iCounter) = sTxt
Loop
Close
Open sTarget For Output As #1
For iCounter = 1 To UBound(arr)
Print #1, arr(iCounter)
Next iCounter
Close
'TaskID = Shell("c:\batch.bat")
On Error GoTo ERRORHANDLER
Shell "notepad " & sTarget, vbMaximizedFocus
Exit Sub
Hier nochmal der komplette Code:

Sub Schaltfläche2_BeiKlick()
Dim arr() As String
Dim iCounter As Integer
Dim sSource As String, sTarget As String, sTxtA As String
Dim sTxtB As String, sTxt As String, sPath As String
Dim sTxtC As String, sTxtD As String, sTxtE As String
Dim sTxtF As String, sTxtG As String, sTxtH As String
Dim sTxtI As String, sTxtJ As String, sTxtK As String
Dim sTxtL As String, sTxtM As String, sTxtN As String
Dim sTxtO As String, sTxtP As String, sTxtQ As String
Dim sTxtR As String, sTxtS As String, sTxtT As String
Dim sTxtU As String, sTxtV As String, sTxtW As String
Dim sTxtX As String, sTxtY As String, sTxtZ As String
Dim sTxtAA As String, sTxtBB As String
sPath = ThisWorkbook.Path & "\"
sSource = sPath & Range("B3").Value
sTarget = sPath & Range("B4").Value
sTxtA = Range("A8").Value
sTxtB = Range("B8").Value
sTxtC = Range("A9").Value
sTxtD = Range("B9").Value
sTxtE = Range("A10").Value
sTxtF = Range("B10").Value
sTxtG = Range("A11").Value
sTxtH = Range("B11").Value
sTxtI = Range("A12").Value
sTxtJ = Range("B12").Value
sTxtK = Range("A13").Value
sTxtL = Range("B13").Value
sTxtM = Range("A14").Value
sTxtN = Range("B14").Value
sTxtO = Range("A15").Value
sTxtP = Range("B15").Value
sTxtQ = Range("A16").Value
sTxtR = Range("B16").Value
sTxtS = Range("A17").Value
sTxtT = Range("B17").Value
sTxtU = Range("A18").Value
sTxtV = Range("B18").Value
sTxtW = Range("A19").Value
sTxtX = Range("B19").Value
sTxtY = Range("A20").Value
sTxtZ = Range("B20").Value
sTxtAA = Range("A21").Value
sTxtBB = Range("B21").Value
Close
Open sSource For Input As #1
Do Until EOF(1)
Line Input #1, sTxt
If InStr(sTxt, sTxtA) Then
sTxt = Replace(sTxt, sTxtA, sTxtB)
End If
iCounter = iCounter + 1
ReDim Preserve arr(1 To iCounter)
arr(iCounter) = sTxt
Loop
Close
Open sTarget For Output As #1
For iCounter = 1 To UBound(arr)
Print #1, arr(iCounter)
Next iCounter
Close
'TaskID = Shell("c:\batch.bat")
On Error GoTo ERRORHANDLER
Shell "notepad " & sTarget, vbMaximizedFocus
Exit Sub
End Sub


Vielleicht kann mir ja jemand einen Tipp geben wo ich hierr ansetzen kann bzw wie ich die weiteren Varibalen in die Passage oben krieg.
Vielen Dank.
Gruß Stevie

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Txt - Text suchen und ersetzen VBA
30.10.2008 13:25:09
Rudi
Hallo,
teste mal:

Sub Schaltfläche2_BeiKlick()
Dim arr() As String
Dim iCounter As Integer
Dim sSource As String, sTarget As String
Dim sPath As String
Dim arrText, i As Integer
sPath = ThisWorkbook.Path & "\"
sSource = sPath & Range("B3").Value
sTarget = sPath & Range("B4").Value
arrText = Range("A8:B21")
Open sSource For Input As #1
Do Until EOF(1)
Line Input #1, sTxt
For i = LBound(arrText) To UBound(arrText)
sTxt = Replace(sTxt, arrText(i, 1), arrText(i, 2))
Next i
iCounter = iCounter + 1
ReDim Preserve arr(1 To iCounter)
arr(iCounter) = sTxt
Loop
Close 1
Open sTarget For Output As #1
For iCounter = 1 To UBound(arr)
Print #1, arr(iCounter)
Next iCounter
Close 1
'TaskID = Shell("c:\batch.bat")
On Error GoTo ERRORHANDLER
Shell "notepad " & sTarget, vbMaximizedFocus
Exit Sub
End Sub


Gruß
Rudi

Anzeige
AW: Txt - Text suchen und ersetzen VBA
30.10.2008 13:34:27
Stevie
@ Rudi
Du bist ein Schatz und mein persönlicher Held für diesen Tag. Ganz im Ernst, weltklasse.
Wenn ich schul wär würd ich die knutschen *lach*
Danke

338 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige