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

letzte Zeile einer *.txt nach Excel auslesen

Forumthread: letzte Zeile einer *.txt nach Excel auslesen

letzte Zeile einer *.txt nach Excel auslesen
21.03.2005 09:51:49
ray
Hallo,
ich habe ein Excelprog geschrieben, womit wir unsere Rechnungen bezahlen. Hierbei wäre es hilfreich, wenn man auch den mit SFirm eingelesenen Kontostand sehen könnte. SFirm erstellt eine *txt, in der in der letzten Zeile die gewünschte Info steht.
Kann man die letzte Zeile der txt-Datei auslesen und in einer Zelle in Excel eintragen?
Viele frühlingshafte Grüße aus dem sonnigen Hamburg bei 7 Grad.
ray
Anzeige

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: letzte Zeile einer *.txt nach Excel auslesen
21.03.2005 10:03:35
MichaV
Hi,
geht mindestens so:
Dim strText As String
Open DeineDatei For Input As #1
While Not EOF(1)
Line Input #1, strText
Wend
Close #1
Range("A1").Value = strText
Gruß! Micha
@Micha erklär mal Bitte
21.03.2005 10:09:37
ray
hi Micha, danke für die Info. Könntest du etwas erklären, damit ich auch lerne?
Dim strText As String ' das ist klar
Open DeineDatei For Input As #1 'auch klar aber was bedeutet #1
While Not EOF(1) '?
Line Input #1, strText 'Line Input #1 = ?
Wend '?
Close #1
Range("A1").Value = strText' das ist dann wieder klar...
Vielen Dank für Deine Hilfe
ray
Anzeige
AW: @Micha erklär mal Bitte
21.03.2005 10:16:58
MichaV
Hi,
hab auf die Erklärungen verzichtet, weil Dein Level Excel gut - VBA gut
Ansonsten geh mal im Editor auf z.B. OPEN und drück F1. Dann sparst Du Dir und mir die Tipparbeit im Forum ;o)
Dim strText As String ' das ist klar
Open DeineDatei For Input As #1 'auch klar aber was bedeutet #1 -&gt Datei Nummer 1
While Not EOF(1) 'solange, wie Ende von Datei 1 nicht erreicht
Line Input #1, strText 'lese eine Zeile der Datei 1 ein
Wend 'wieder hoch zu While
Close #1 'Datei Nummer 1 schließen
Range("A1").Value = strText' das ist dann wieder klar... na fein.
Gruß!
Anzeige
sorry, daß Dich meine Fragen nerven
21.03.2005 10:30:54
ray
oT
AW: sorry, daß Dich meine Fragen nerven
21.03.2005 10:35:28
MichaV
Hi Ray,
wenns mich genervt hätte, hätt ich nicht geantwortet.
Gruß!
AW: @Micha erklär mal Bitte
21.03.2005 10:20:57
UweD
Hallo
so:

Sub Laden()
Dim strText As String
DeineDatei = "C:\Temp\Test.txt"
Open DeineDatei For Input As #1
'reserviert einen E/A- Puffer für das einlesen einer sequenzillen Datei / hier Nr.1
While Not EOF(1)
' mache folgendes bis EOF (END O FILE ) von DAteipuffer Nr1 erreicht ist
Line Input #1, strText
' Liest eine Zeile von Datei1 in die Variable strText ein
Wend
'geht wieder zu While.. und überschreibt die Variable mit der nächsten Zeile
'Wenn EOF gelesen wurde, steht in der Variablen der Text der letzten Zeile
Close #1
' gibt den E/A Puffer wieder frei
Range("A1").Value = strText
'schreibt den Variableninhalt in Zelle A1
End Sub

Gruß UweD
Anzeige
AW: @UweD - perfekte Erklärung vielen Dank mT
21.03.2005 10:34:11
ray
Hi Uwe, vielen Dank für Deine Mühe.
Ich habe den code so eingegeben, aber ich bekommen nur seltsame Zeichen zurück...(in der letzten Zeile steht "letzzte Zeile"
Dim strText As String
Open "c:\test.txt" For Input As #1
While Not EOF(1)
Line Input #1, strText
Wend
Close #1
MsgBox "" & strText
Was ist falsch?
Gruß ray
Anzeige
das kommt dabei raus:
21.03.2005 10:40:12
ray
hi,
statt: "letzte Zeile" kommt "ÐÏࡱ" ?

AW: das kommt dabei raus:
21.03.2005 10:45:10
UweD
Hallo
lad mal die Test.txt hier hoch..
AW: das kommt dabei raus:
21.03.2005 10:55:14
ray
Hi Uwe, hier der link
https://www.herber.de/bbs/user/19929.txt
Leider habe ich zudem gemerkt, daß es nicht die letzte sondern die vorletzte Zeile sein muß. Hab schon probiert mit EOF(1) -1 aber das geht nicht.
Wie baue ich vorletzte Zeile ein?
Viele Grüße aus HH
ray
Anzeige
AW: das kommt dabei raus:
21.03.2005 11:17:35
UweD
Hallo
hast du die Datei mal im editor geöffnet?
Ist keine reine ASCII -Datei, vermute ein Word Dokument.
Das hast du hochgeladen (als Ascii dargestellt)
ÐÏࡱá>þÿ "$þÿÿÿ!ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿì¥Á@ ð¿bjbjîFîF7Œ,Œ,ÿÿÿÿÿÿˆJJJJJJJ^ ^¶&&&&&&&& $CR•@2J&&&&&2JJ&&G\\\&J&J& \& \\JJ\& €Q‹ö-Å&\ ]0\Õ6Õ\^^JJJJÕJ\°&&\&&&&&22^^¤F^^Zeile 1 Letzte Zeile ôèôÙhÇÎhG6UCJOJQJaJh{ìCJOJQJaJhG6UCJOJQJaJ úúúúúgdÇÎþ5 01h:pEP°‚. °ÆA!°Š"°Š# $n%°°u° ÄœD@ñÿD StandardCJ_HaJmHsHtHJA@òÿ¡J Absatz-StandardschriftartXi@óÿ³X Normale Tabelleö4Ö l4Öaö 0k@ôÿÁ0 Keine Listeÿÿÿÿ ˜0€€0˜0€€x˜0€€x˜0€€x˜0€€x &å%fnàoH5d/7p6=¤CEPYQG6UèkVa`ZÃJe?hE0prZsgzá\‹Ðd™lO¢$¤G¹ ÂdWÄÇÎMÐ[pÒQ#ÖVyÙ=Cç{ì=Nìvñ¨÷ò8û‡bû½ ü'üÿ@€¬ËC((`@ÿÿUnknownÿÿÿÿÿÿÿÿÿÿÿÿG‡z €ÿTimes New Roman5€Symbol3& ‡z €ÿArial"1ˆðÄ䩋ª“&‹ª“&ÑðŠ 9´‚4d2ƒQðH ðÿ?äÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ[pÒÿÿZeile 1DSDSþÿà…ŸòùOh«‘+'³Ù0Pˆ ¬¸ÄÐä ðü $08@HäZeile 1eilDSlSlSl Normal.dotDSm1mMicrosoft Word 10.0@jæõ-Å@jæõ-ÅþÿÕÍ՜.“—+,ù®0ð hp|„Œ” œ¤¬´ ¼ Ðä : Zeile 1 Titelþÿÿÿ þÿÿÿþÿÿÿ þÿÿÿýÿÿÿ#þÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿRoot Entryÿÿÿÿÿÿÿÿ ÀF ™ö-Å%€1Tableÿÿÿÿÿÿÿÿ WordDocumentÿÿÿÿÿÿÿÿ7SummaryInformation(ÿÿÿÿDocumentSummaryInformation8ÿÿÿÿÿÿÿÿÿÿÿÿCompObjÿÿÿÿÿÿÿÿÿÿÿÿjÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿ ÿÿÿÿ ÀFMicrosoft Word-Dokument MSWordDocWord.Document.8ô9²q
Du mußt reinen Ascii erzeugen...
Wenn das vorliegt bekommst du so die Vorletzte Zeile

Sub Laden()
Dim strText$, Vorletzte$
Open "C:\Temp\Test.txt" For Input As #1
While Not EOF(1)
Vorletzte = strText
Line Input #1, strText
Wend
Close #1
MsgBox Vorletzte
End Sub

Gruß UweD
Anzeige
ergänzung
21.03.2005 11:49:35
ray
hallo uwe, hab grad gesehen, daß es entweder die vorletzte oder die letzte sein soll. die vorletzte nur dann, wenn die letzte "-" ausgibt.
Hab grad mal versucht das einzubauen geht aber nicht. Was mach ich den jetzt wieder falsch...
Dim strText$, Vorletzte$
DeineDatei = "C:\SFIRM32\sic\STA00127.STA"
Open DeineDatei For Input As #1
While Not EOF(1)
Line Input #1, strText
Wend

If strText = "-" Then
While Not EOF(1)
Vorletzte = strText
Line Input #1, strText
Wend
End If

Close #1

Range("A4").Value = strText

End Sub
Anzeige
AW: ergänzung
21.03.2005 12:08:24
UweD
VBA = gut?
So

Sub Laden()
Dim strText$, Vorletzte$
DeineDatei = "C:\SFIRM32\sic\STA00127.STA"
Open DeineDatei For Input As #1
While Not EOF(1)
Vorletzte = strText
Line Input #1, strText
Wend
Close #1
If strText = "-" Then strText = Vorletzte
Range("A4").Value = strText
End Sub

Gruß UweD
Anzeige
wie einfach.... mT
21.03.2005 13:12:32
ray
uwe, nachmal danke für Deine Geduld. Heute habe ich wieder mal richtig was gelernt. Eines verstehe ich aber noch nicht. Woher weiß das Prog, daß "Vorletzte" die Vorletzte Zeile ist?
Viele Grüße
ray
AW: wie einfach.... mT
21.03.2005 14:07:18
UweD
Hi
1)While Not EOF(1)
2) Vorletzte = strText
3) Line Input #1, strText
4)Wend
Die gesamte Schleife wird solange durchlaufen, bis EOF erkannt wird
2) Wenn das noch nicht so ist, wird Vorletzte mit dem Wert aus StrText belegt (im ersten Durchlauf ist das noch "" (also leer)
Bei 3) wird dann die erste Zeile gelesen
4) Rücksprung zu 1)
1) immer noch kein EOF, daher
2) Jetzt wird Vorletzte mit dem Wert aus dem ersten Durchlauf gesetzt also Zeile 1
3) Zweite Zeile...
Irgendwann kommen wir zur letzten Zeile, dann steht in der Varablen Vorletzte eben die Vorletze Zeile Drin. Die Letzte wird dann in strText gelegt.
Jetz wird die Schleife wieder durchlaufen, aber jetzt wird beim Lesen eben EOF erkannt und das Programm macht bei Close weiter...
Gruß UweD
Anzeige
Vielen Dank Uwe, Du kannst super erklären. oT
21.03.2005 16:10:01
ray
oT
;
Anzeige
Anzeige

Infobox / Tutorial

Letzte Zeile einer *.txt nach Excel auslesen


Schritt-für-Schritt-Anleitung

Um die letzte Zeile einer *.txt-Datei in Excel auszulesen, kannst du den folgenden VBA-Code verwenden. Dieser Code liest die Datei Zeile für Zeile und speichert die letzte Zeile in einer Variablen, die dann in eine Zelle geschrieben wird.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code in das Modul ein:
Sub Laden()
    Dim strText As String
    Dim DeineDatei As String
    DeineDatei = "C:\Temp\Test.txt" ' Passe den Pfad an
    Open DeineDatei For Input As #1
    While Not EOF(1)
        Line Input #1, strText
    Wend
    Close #1
    Range("A1").Value = strText ' Gibt die letzte Zeile in Zelle A1 aus
End Sub
  1. Schließe den VBA-Editor und führe das Makro aus, indem du ALT + F8 drückst, das Makro auswählst und auf Ausführen klickst.

Häufige Fehler und Lösungen

  • Seltsame Zeichen in der Ausgabe: Wenn du beim Auslesen der .txt-Datei seltsame Zeichen (z.B. "ÐÏࡱ") erhältst, könnte die Datei kein reines ASCII-Format haben. Stelle sicher, dass die Datei im richtigen Format gespeichert ist. Verwende einen Texteditor, um die Datei zu überprüfen und gegebenenfalls als reines ASCII zu speichern.

  • Vorletzte Zeile auslesen: Wenn du die vorletzte Zeile benötigst und die letzte Zeile ein bestimmtes Zeichen (z.B. "-") ausgibt, kannst du das folgende Skript verwenden:

Sub VorletzteZeile()
    Dim strText As String, Vorletzte As String
    DeineDatei = "C:\Temp\Test.txt" ' Passe den Pfad an
    Open DeineDatei For Input As #1
    While Not EOF(1)
        Vorletzte = strText
        Line Input #1, strText
    Wend
    Close #1
    If strText = "-" Then strText = Vorletzte
    Range("A1").Value = strText ' Gibt die letzte oder vorletzte Zeile in Zelle A1 aus
End Sub

Alternative Methoden

Falls du die Datei nicht über VBA auslesen möchtest, kannst du auch Power Query in Excel verwenden. Hier ist eine kurze Anleitung:

  1. Gehe zu Daten > Daten abrufen > Aus Datei > Aus Text/CSV.
  2. Wähle die .txt-Datei aus und klicke auf Importieren.
  3. Im Power Query-Editor kannst du die letzte Zeile auswählen und in deine Excel-Tabelle laden.

Praktische Beispiele

Hier sind einige Beispiele, wie du mit dem oben genannten VBA-Code arbeiten kannst:

  • Beispiel 1: Wenn du eine Datei namens "Kontostand.txt" hast, die die letzte Zeile als Kontostand enthält, passe den Pfad in DeineDatei an:
DeineDatei = "C:\Temp\Kontostand.txt"
  • Beispiel 2: Um die vorletzte Zeile auszulesen, wenn die letzte Zeile einen bestimmten Wert hat:
If strText = "Fehler" Then strText = Vorletzte

Tipps für Profis

  • Verwende Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen in deinem VBA-Code, um unerwartete Fehler abzufangen:
On Error GoTo Fehler
' Dein Code hier
Exit Sub
Fehler:
MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
  • Automatisiere die Ausführung: Du kannst das Makro so einrichten, dass es automatisch beim Öffnen der Datei ausgeführt wird, indem du es im Workbook_Open-Ereignis platzierst.

FAQ: Häufige Fragen

1. Was ist die .txt bedeutung? Die .txt-Dateiendung steht für Textdateien, die reinen Text ohne Formatierungen speichern. Sie sind einfach zu lesen und können in vielen Anwendungen geöffnet werden.

2. Wie kann ich eine .txt lesen? Du kannst eine .txt-Datei in Excel entweder über VBA oder über Power Query lesen. Der VBA-Ansatz erlaubt mehr Kontrolle, während Power Query eine benutzerfreundliche Oberfläche bietet.

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