Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Textdatei mit VBA bearbeiten

Forumthread: Textdatei mit VBA bearbeiten

Textdatei mit VBA bearbeiten
28.08.2003 10:06:39
Stefan
Hallo Leute,

mal ne Frage an Euch, wie kann ich eine Textdatei bearbeiten, ohne diese erst in Excel öffnen zu müssen? Ich möchte via Code die Datei bearbeiten.
Beispiel Aufbau der Datei "Daten.txt":

Name;PLZ;Ort;;Tel;Fax;EMail
Max,9999;Kiel;;0123/5555;--;max@muster.de

Ich möchte ein Semicolon nach "Ort" löschen, um die Leerspalte herauszubekommen. Klar, ich könnte die Datei in Excel laden, und die Spalten
anhand des Semicolons teilen und dann die Spalte löschen, aber muss doch auch
schon vorher möglich sein, hat jemand ein Codebeispiel für mich?

Vielen Dank schon mal im Voraus!

MfG Stefan.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Textdatei mit VBA bearbeiten
28.08.2003 10:24:26
Michael Scheffler
Option Explicit


Sub Text()
Dim strZeile
Open "Daten.txt" For Input As #1    Open "Datenneu.txt" For Output As #2
Do While Not EOF(1)
Line Input #1, strZeile
strZeile = Replace(strZeile, ";;", ";")
Write #2, strZeile
Loop
Close #1    ' Datei schließen.
Close #2
End Sub

Anzeige
AW: Textdatei mit VBA bearbeiten
28.08.2003 10:38:38
Dieter Maj
Hallo Michael
bei mir klappt dein Beispiel nicht, fliegt raus bei Replace
habe allerdings Excel 97
weißt du Rat?
Gruß Dieter
@Dieter
28.08.2003 10:42:55
Stefan
Was kommt denn genau für ne Fehlermeldung bei Dir?
AW: @Dieter
28.08.2003 10:45:25
Dieter Maj
Fehler beim Kompilieren,
Sub oder Function nicht definiert

und das Wort Replace wird markiert
Anzeige
AW: @Dieter
28.08.2003 10:59:59
Michael Scheffler
Hi Dieter,

unter 97 gibt es kein Replace - das müsste man dann mit Left, Mid und Right klären.

Gruß

Micha
AW: D a n k e oT
28.08.2003 11:07:29
Dieter Maj
AW: @Dieter
28.08.2003 11:04:48
Stefan
Das liegt garantiert an was anderem

schau mal die Konstellation

Sub / End Sub
() vielleicht ist da was falsch.
Anzeige
AW: @Dieter
28.08.2003 11:04:52
Stefan
Das liegt garantiert an was anderem

schau mal die Konstellation

Sub / End Sub
() vielleicht ist da was falsch.
AW: Textdatei mit VBA bearbeiten
28.08.2003 10:32:05
Stefan
Danke Michael,

klappt super, nur mal ne Frage, kann ich das nicht in einer Datei machen? Ich meine damit, ob ich einer Datei nicht gleichzeitig Input und Output zuweisen kann.

Gruß Stefan.
Anzeige
AW: Textdatei mit VBA bearbeiten
28.08.2003 11:03:34
Michael Scheffler
Hi,

da fälllt mir auf DieSchnelle nix ein, man kann zwar für Read Write öffnen, aber um eine temporäre Datei kommt man nicht drum rum.

Gruß

Micha
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Textdatei mit VBA bearbeiten


Schritt-für-Schritt-Anleitung

Um eine Textdatei mit VBA zu bearbeiten, ohne sie in Excel zu öffnen, kannst du den folgenden Code verwenden:

Sub TextdateiBearbeiten()
    Dim strZeile As String
    Open "Daten.txt" For Input As #1
    Open "Datenneu.txt" For Output As #2
    Do While Not EOF(1)
        Line Input #1, strZeile
        strZeile = Replace(strZeile, ";;", ";")
        Write #2, strZeile
    Loop
    Close #1
    Close #2
End Sub

Dieser Code öffnet die Textdatei Daten.txt, bearbeitet jede Zeile, indem er doppelte Semikolons entfernt, und schreibt das Ergebnis in eine neue Datei namens Datenneu.txt.


Häufige Fehler und Lösungen

Fehler: "Sub oder Function nicht definiert" bei Replace

Wenn du Excel 97 verwendest, kann es sein, dass die Replace-Funktion nicht verfügbar ist. In diesem Fall kannst du die Funktion durch eine Kombination aus Left, Mid und Right ersetzen. Hier ist ein Beispiel, wie du das machen kannst:

Function ReplaceCustom(str As String, find As String, replace As String) As String
    Dim pos As Long
    pos = InStr(str, find)
    If pos > 0 Then
        ReplaceCustom = Left(str, pos - 1) & replace & Mid(str, pos + Len(find))
    Else
        ReplaceCustom = str
    End If
End Function

Alternative Methoden

Eine Möglichkeit, die txt-Datei zu bearbeiten, besteht darin, die Datei im Read-Write-Modus zu öffnen. Allerdings ist es oft einfacher, wie oben gezeigt, mit zwei Dateien zu arbeiten. Wenn du dennoch alles in einer Datei machen möchtest, kannst du den folgenden Code verwenden:

Sub TextdateiInPlaceBearbeiten()
    Dim strZeile As String
    Dim tempFile As String
    tempFile = "Temp.txt"

    Open "Daten.txt" For Input As #1
    Open tempFile For Output As #2
    Do While Not EOF(1)
        Line Input #1, strZeile
        strZeile = Replace(strZeile, ";;", ";")
        Write #2, strZeile
    Loop
    Close #1
    Close #2

    Kill "Daten.txt"        ' Alte Datei löschen
    Name tempFile As "Daten.txt" ' Umbenennen
End Sub

Praktische Beispiele

Nehmen wir an, deine Daten.txt Datei hat folgendes Format:

Name;PLZ;Ort;;Tel;Fax;EMail
Max;9999;Kiel;;0123/5555;--;max@muster.de

Wenn du nun den obigen Code ausführst, wird die resultierende Daten.txt so aussehen:

Name;PLZ;Ort;Tel;Fax;EMail
Max;9999;Kiel;0123/5555;--;max@muster.de

Das doppelte Semikolon wurde erfolgreich entfernt.


Tipps für Profis

  • Stelle sicher, dass du die Datei im richtigen Verzeichnis öffnest. Verwende absolute Pfade, falls nötig.
  • Du kannst den Code erweitern, um mehrere Ersetzungen in einer einzigen Ausführung vorzunehmen.
  • Nutze die VBA-Debugging-Tools, um Fehler schnell zu identifizieren.

FAQ: Häufige Fragen

1. Kann ich eine txt-Datei auch direkt in Excel öffnen? Ja, du kannst die Datei in Excel importieren, aber in diesem Fall hast du die Vorteile der direkten Bearbeitung mit VBA.

2. Was mache ich, wenn ich eine Fehlermeldung erhalte? Überprüfe den Code auf Syntaxfehler und stelle sicher, dass alle verwendeten Funktionen in deiner Excel-Version verfügbar sind.

3. Wie kann ich mit großen txt-Dateien umgehen? Für sehr große Dateien ist es ratsam, die Datei in Blöcken zu lesen und zu schreiben, um die Leistung zu verbessern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige